如何清理凌乱的git历史?

时间:2015-09-14 18:32:28

标签: git version-control merge rebase revision-history

我有一个带有混乱历史的git项目,其中具有相同提交和不同提交ID的分支被合并并且想要清理它。

发生了什么:

  • 普通的git工作流程。
  • 然后我看到一些较旧的提交有错误的作者信息(缺少user.name设置)并重新设置它。
  • git push --force。 (坏主意!)
  • 下一个用户将他的分支与他的新提交合并到此分支中。 (我应该告诉大家做一个新的克隆)
  • 我没有看到问题,我们继续像往常一样。合并后使用了一些功能和发布分支

结果:

在两个不同的分支上有一个很长的提交时间线,它们完全相同且只是不同,因为它们的父哈希是不同的。它不仅是不洁净的,而且更难以使用旧的提交(我猜git bisect会完全混乱)并且树现在仍然包含伪造的提交,这应该也已经被重新设定。

如果现在每个参与者都不会再次合并旧树,那么如何清理它呢?

0 个答案:

没有答案