是否可以在.git变得很大时清理git登录

cnd*_*cnd 12 git

我真的不喜欢有怪物.git文件夹(2GB),我不关心2002年的变化,我不想创建新的存储库,所以我该怎么做才能清理.git/log?

请注意,我希望它不仅仅是本地的,下次我想要自2011年以来没有历史记录或历史记录克隆存储库.

谢谢

Pul*_*yal 7

从你的问题,我想你想是这样.

git-rebase(1)正是如此.

$ git rebase -i HEAD~5
Run Code Online (Sandbox Code Playgroud)

git awsome-ness包含一个例子.

  1. 不要git-rebase在公共(远程)提交上使用.
  2. 确保您的工作目录是干净的(commitstash您当前的更改).
  3. 运行以上命令.它启动你的$EDITOR.
  4. 更换pickCD通过squash.它会将C和D合并为B.如果要删除提交,则只需删除其行.

如果您迷路了,请键入:

$ git rebase --abort  
Run Code Online (Sandbox Code Playgroud)

但是,要安全地压缩.git文件夹,不建议使用上述文件夹.您可以尝试使用Linus 的评论中提到的以下内容.

git repack -a -d --depth=250 --window=250
Run Code Online (Sandbox Code Playgroud)

那个深度的东西只是关于三角链的深度(让旧历史更长一些 - 它值得空间开销),窗口的事情是我们希望每个delta候选者扫描多大的对象窗口.


小智 7

运行git gc --help来获取文档。
在你的情况下git gc --aggressive --prune会很好。


归档时间:

查看次数:

5395 次

最近记录:

14 年,1 月 前