我需要从git历史中删除几个过时的文件,所以我按照各种问题和git手册中的建议使用“git filter-branch ...”的方法。在运行命令之后,我现在在我的“git log”中看到所有重写的提交,所以我现在有大约30次提交而不是最初的10次提交(删除3个文件后)。
我尝试了各种答案中提供的建议,删除“.git / refs / originals”,然后“git reflog expire ...”和“git gc --aggressive --prune”等,但我仍然有30个提交。我还尝试了将我的存储库克隆到新存储库的建议,新的存储库也有30个提交。我也推送到github,现在有30个提交。
是否有任何我想要删除被覆盖的提交(没有进行rebase操作)。我的目标是只删除“重复”提交,而不是压缩提交。
谢谢!
答案 0 :(得分:2)
你运行的命令究竟是什么?最好是重新制作这个回购,然后再试一次。 help.github上有一个可能有用的指南。
答案 1 :(得分:0)
您还可以尝试使用rebase -i --preserve-merges或脚本git cherry-pick --no-commit来执行您想要的操作。
希望这有帮助