2

我正在将许多 svn 存储库迁移到许多其他 git 存储库。那些 svn 存储库有超过 113000 次提交。我最终得到了非常大的 git repos,我喜欢缩小它们。

我使用了一个脚本来找出最大的对象。这些对象不再在任何分支中,我想知道它们与哪个提交相关。我找不到任何???

我使用了命令

git log --pretty=oneline --branches -- my_big_file_full_path

但是什么都没有返回。有人能解释一下为什么这个文件没有关联的提交吗?如果确实如此,如何删除所有未链接到任何提交的文件?

PS:迁移过程非常繁重,我正在使用bfg(这太棒了)来删除一些已知的未使用文件夹。

4

2 回答 2

1

使用 BFG 后您是否清理了存储库?如BFG网站上的“使用”部分所述,您应该使用

$ cd some-big-repo.git
$ git reflog expire --expire=now --all
$ git gc --prune=now --aggressive 

摆脱存储库中不属于任何提交的对象。

于 2014-03-10T15:38:46.547 回答
1

我终于在另一个 stackoverflow 问题中找到了答案,哪个提交有这个 blob? 使用 shell 脚本可以让我找到修改大文件的提交。

于 2014-03-14T23:12:00.310 回答