英文:
How to reduce git repository size
问题
之前我将一些大文件推送到了Git分支,导致存储库大小增加。后来我使用以下方法从该分支中删除了这些冗余文件:
git rm big_file
git commit -m 'rm bg file'
git push origin branch-name
但是Git存储库的文件大小仍然没有改变。
然后我尝试使用这个方法来清除提交历史记录,但它没有起作用,存储库大小仍然保持不变。
英文:
Earlier I pushed some big files to git branch which increased the repository size. Later I removed those redundant files from that branch using,
git rm big_file
git commit -m 'rm bg file'
git push origin branch-name
But the file size of git repository remained unchanged.
Then I tried using this method to clear commit history but it didn't worked, the repo size is still the same.
答案1
得分: 4
你已经从最后一次提交中删除了大文件,你需要从之前的提交中也删除它,否则你的存储库大小不会减小。
你应该使用这个工具来清理你的存储库历史记录:
https://rtyley.github.io/bfg-repo-cleaner/
它是这种任务的完美工具。
BFG Repo-Cleaner
一个替代 git-filter-branch 的工具。
BFG 是一个简单、快速的替代品,用于从 Git 存储库历史记录中清除不良数据:
- 删除超大文件
- 删除密码、凭据和其他私人数据
示例(来自官方网站)
在所有这些示例中,bfg 是 java -jar bfg.jar 的别名。
删除所有名为 'id_rsa' 或 'id_dsa' 的文件:
bfg --delete-files id_{dsa,rsa} my-repo.git
英文:
You have deleted the big file only from the last commit, you will need to delete it from earlier commits as well, otherwise, your repository size will not be reduced.
You should use this tool to clean your repository history:
https://rtyley.github.io/bfg-repo-cleaner/
It the prefect tool for this kind of task.
> ### BFG Repo-Cleaner
>
> an alternative to git-filter-branch.
>
> The BFG is a simpler, faster alternative to git-filter-branch for cleansing bad data out of your Git repository history:
>
> * Removing Crazy Big Files
> * Removing Passwords, Credentials & other Private data
Examples (from the official site)
> In all these examples bfg is an alias for java -jar bfg.jar.
# Delete all files named 'id_rsa' or 'id_dsa' :
bfg --delete-files id_{dsa,rsa} my-repo.git
答案2
得分: 1
这个Atlassian文档在所有Git产品中大致相同:https://confluence.atlassian.com/bitbucket/maintaining-a-git-repository-321848291.html
它包括BFG和git filter branch方法。
我之前使用过BFG和filter branch方法。BFG效果很好。
这份文档还有助于避免这种类型的提交:https://confluence.atlassian.com/bitbucket/reduce-repository-size-321848262.html
英文:
This Atlassian Document works more or less the same with all git products: https://confluence.atlassian.com/bitbucket/maintaining-a-git-repository-321848291.html
It includes BFG and git filter branch methods together.
I've previously used both BFG and filter branch methods . BFG works fine.
This documentation also helps to avoid such type of commits https://confluence.atlassian.com/bitbucket/reduce-repository-size-321848262.html
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论