我真的不喜欢有怪物.git文件夹(2GB),我不关心2002年的变化,我不想创建新的存储库,所以我该怎么做才能清理.git / log?
请注意,我希望它不是仅限本地的,下次我想要自2011年以来没有历史记录或历史记录克隆存储库。
谢谢
我真的不喜欢有怪物.git文件夹(2GB),我不关心2002年的变化,我不想创建新的存储库,所以我该怎么做才能清理.git / log?
请注意,我希望它不是仅限本地的,下次我想要自2011年以来没有历史记录或历史记录克隆存储库。
谢谢
从你的问题来看,我认为你想要的东西 这个。
GIT-变基(1) 就是这么做的。
$ git rebase -i HEAD~5git awsome-ness 包含一个例子。
- 不要用
git-rebase在公共(远程)提交。- 确保您的工作目录清洁(
commit要么stash你目前的变化)。- 运行以上命令。它启动你的
$EDITOR。- 更换
pick之前C和D通过squash。它会将C和D合并为B.如果要删除提交,则只需删除其行。如果您迷路了,请输入:
$ git rebase --abort
但是,要安全地压缩.git文件夹,不建议使用上述文件夹。您可以尝试以下内容中提到的内容 评论 通过Linus。
git repack -a -d --depth=250 --window=250
深度的东西只是三角形链的深度(让旧历史更长一些 - 值得节省空间),窗口的事情是我们希望每个delta候选者扫描多大的对象窗口。
跑 git gc --help 得到文件。
在你的情况下 git gc --aggressive --prune 会变好。
也许你可以尝试:
$ git gc --auto
手册页说:
在当前存储库中运行许多内务处理任务,例如压缩文件修订(以减少磁盘空间并提高性能)以及删除可能已从先前调用git add创建的无法访问的对象。
建议用户定期在每个存储库中运行此任务,以保持良好的磁盘空间利用率和良好的运行性能。
这只是一个建议,我从来没有必要使用gc。