展平简单的Git历史提交

时间:2016-06-23 12:33:35

标签: git

我的提交历史记录如下:

enter image description here

如图所示,从master(红色)创建分支(蓝色),然后合并回master。主分支根本没有改变。

是否可以追溯将此循环展平为5个非压缩提交的线性序列?

我想如果最后一次合并提交是作为主人的git rebase完成的,那将给我线性序列。

2 个答案:

答案 0 :(得分:1)

要保持平坦的git历史记录,当您想要更新分支时,应使用rebase而不是merge。你可以在another post中看到关于rebase与merge的解释。

从您当前的状态开始,如果您的HEAD (master)是合并,则可以

  • 清理工作目录(或藏匿更改)

  • git reset --hard LastCommit,其中LastCommit是红色分支的最后一次提交,不在蓝色分支上。

  • git rebase blueBranch redBranch

  

git-rebase - 在另一个基本提示上重新提交提交

答案 1 :(得分:0)

在这种情况下,git reset HEAD^2 --hard就够了。