不幸的是我 - 作为一个Git新手 - 做了一些不干净的东西,结果得到了像这样的Git日志:
* 13c3cc7 (HEAD -> master, origin/master) everything merged
|\
| * 9457922 some other stuff here
* | 10b2e6f some stuff here
|/
* 5453269 solid last version
* ca9f9bf initial commit
正如您所看到的,提交10b2和9457是并行的,但不会相互构建。
现在,理想情况下,我希望线性历史可以从5453开始,可以是一次或两次临时提交,最多可达13c3。
玩了一下rebase,但无济于事。谢谢。
答案 0 :(得分:3)
交互式rebase应该可以解决问题。尝试
git rebase -i ca9f9bf
然后根据需要调整提交。例如,您可以将多个压缩在一起:
pick 5453269
pick 10b2e6f
fixup 9457922
pick 13c3cc7
或者只是将它们保持原样,它们应该最终被线性化。
答案 1 :(得分:2)
除非你有一些外部限制迫使你提供线性历史记录,否则不要试图修复"这个:历史就像它发生的那样,git
设计来处理这些历史真的很好。
任何尝试"修复"它将导致不同的历史,这基本上是一个谎言,可能会产生令人讨厌的后果。实际上,你的平均历史记录会更难以处理。
一方面,即使我是唯一一个从事项目工作的人,我也一直都会产生这样的分叉历史。我的建议是放松并保持原样。