摆脱平行分支

时间:2017-08-21 13:44:37

标签: git

不幸的是我 - 作为一个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,但无济于事。谢谢。

2 个答案:

答案 0 :(得分:3)

交互式rebase应该可以解决问题。尝试

git rebase -i ca9f9bf

然后根据需要调整提交。例如,您可以将多个压缩在一起:

pick 5453269
pick 10b2e6f
fixup 9457922
pick 13c3cc7

或者只是将它们保持原样,它们应该最终被线性化。

答案 1 :(得分:2)

除非你有一些外部限制迫使你提供线性历史记录,否则不要试图修复"这个:历史就像它发生的那样,git 设计来处理这些历史真的很好。

任何尝试"修复"它将导致不同的历史,这基本上是一个谎言,可能会产生令人讨厌的后果。实际上,你的平均历史记录会更难以处理。

一方面,即使我是唯一一个从事项目工作的人,我也一直都会产生这样的分叉历史。我的建议是放松并保持原样。