如何让我的git repo更小
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让我的git repo更小相关的知识,希望对你有一定的参考价值。
我有一个git repo,我每天都会多次自动提交,但现在git存储库变得越来越大,需要一段时间才能克隆到其他设备上。我想知道减少我的存储库最简单的方法是什么。有没有办法删除旧的提交以减少我的存储库大小?
答案
git提供了git gc
命令和git repack
来改进维护旧的和胖的存储库。还有一些未编写的规则可以帮助防止当前存储库快速增长(即使用lfs
来存储大文件等)。
使用this获取更多细节。
另一答案
要删除master分支上超过一周的提交,您可以使用以下步骤:
- 获取命令需要保留的最后一周的提交
git log --oneline --since="one week ago" master
然后你将在最后一周获得如下提交(最新提交在最顶层,最旧提交在底部):d1fc497 (HEAD -> master, origin/master, origin/HEAD) message5 ac89b87 message4 8c3e839 message3 d4ffc42 message2 3f1d63a message1
第一个/更早的提交3f1d63a
需要在以下步骤中使用。 - 从您要保留的第一个提交中签出一个孤立分支(如上例中的提交
3f1d63a
):git checkout --orphan temp 3f1d63a git commit -m 'init commit'
- 基于
temp
分支重新推出最后一周的提交,并强制推动master
分支:git rebase --onto temp 3f1d63a master git push -f origin master
现在master
分支将只包含过去一周的提交。
要删除本地git仓库中的无用对象,可以使用以下命令:
rm -Rf .git/refs/original
rm -Rf .git/logs/
git gc
git prune --expire now
现在你的本地回购邮件的大小应该更小。
以上是关于如何让我的git repo更小的主要内容,如果未能解决你的问题,请参考以下文章