Home > Development Tools > git > How to deal with git files that are too large

How to deal with git files that are too large

WBOY
Release: 2023-05-17 09:57:36
Original
3054 people have browsed it

When using Git for file version control, sometimes you may encounter files that are too large. When the file is too large, it may cause problems such as slower Git execution speed, increased memory usage, or even failure of Git submission upload. This article will introduce several ways to deal with Git files that are too large.

1. Using Git LFS

Git Large File Storage (Git LFS for short) is an extension of Git, which is specially used to process large files. With Git LFS, Git no longer stores files in a repository, but instead links them to a specific repository. This method can avoid an excessively large version library caused by too many large files, thereby improving Git operation performance.

Next, we will introduce how to use Git LFS:

  1. Use Homebrew to install the git-lfs tool on Mac:

brew install git-lfs

  1. Execute the git lfs install command to configure Git LFS:

git lfs install

  1. Use it in the Git warehouse that needs to be managed by Git LFS git lfs track command to specify the large file types that need to be managed. For example, the following command will hand over image files with png extensions to Git LFS management.

git lfs track "*.png"

  1. To commit changes to Git, use the git lfs push command to upload large files managed in Git LFS.

git lfs push origin master

  1. Finally, use the command git lfs fetch in Git to download the files managed in Git LFS to the local.

2. Use Git Annex

Git Annex is another extension of Git and is also used to manage large files. But unlike Git LFS, Git Annex will not replace the original Git file management, but will serve as a supplement to Git file management. Large files managed by Git Annex are not downloaded to the local Git repository. Instead, they are stored on the local disk and a pointer to the large file is stored in the Git repository.

The following describes how to use Git Annex:

  1. Use Homebrew to install the git-annex tool on Mac:

brew install git-annex

  1. Initialize in the Git repository that needs to be managed using Git Annex:

git annex init

  1. Add the files that need to be managed to Git Annex:

git annex add large_file.mp4

  1. Submit the file to Git Repository:

git commit -m "add large_file.mp4"

  1. When you need to download a file, use the git annex get command:

git annex get large_file.mp4

3. Use Git repack compressed version Library

In addition to using Git LFS, Git Annex and other tools to manage large files, we can also try to use Git's own repack tool to compress the repository to reduce the size of the repository. The following describes how to use the repack tool:

  1. Execute the following command in Git:

git repack

  1. If you want to compress the history file, you can execute it like this:

git repack -a -d

  1. This will generate a brand new pack file, and all uncompressed objects will be repackaged and Automatically remove duplicate files, thereby reducing history file size. If you need to upload the compressed pack file to the Git server, you can use the following command:

git gc

4. Use Git BFG

Git BFG is Git Abbreviation for backup filter, it is a simple and practical Git tool. It is based on the official Git tool and can help Git users better manage Git version control libraries. Using Git BFG can help you delete some useless files and history records in the Git version control repository more easily. The following is an introduction to how to use Git BFG.

  1. Use Homebrew on Mac to install Git BFG locally:

brew install bfg

  1. Use in Git repositorybfg command to delete unnecessary files. Pay attention to replace file-to-remove with the name of the file that needs to be deleted. Wildcards are also supported:

bfg --delete-files file-to-remove

  1. Execute the following command to permanently clear the files in the repository from the history. This step will record files containing "'file-to-remove'" in the history so that they can be completely deleted:

git reflog expire --expire=now --all && git gc - -prune=now --aggressive

  1. Finally use the following command to synchronize the local branch and the remote branch:

git push origin --force

Summary :

For the problem of Git files that are too large, we can use various processing methods such as Git LFS, Git Annex, Git repack and Git BFG. These tools will all help us, we just need to choose according to the actual situation and needs. If you often face the problem of Git files that are too large, we recommend that you try the methods described above.

The above is the detailed content of How to deal with git files that are too large. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template