将多个提交重新绑定为一个

时间:2017-02-25 22:42:09

标签: git git-rebase

如何快速改变这个分支:

(MAJOR-A) <-- (minor-1) <-- (minor-2) <-- (MAJOR-B) <-- (minor-3) <-- master

对此:

(MAJOR-A) <-- (MAJOR-B) <-- (merged-minors) <-- master

(merged-minors)提交的地方没有实际意义,也可能是这样:

(merged-minors) <-- (MAJOR-A) <-- (MAJOR-B) <-- master

很抱歉重复,但即使我认为它处理的是git rebase -isquash关键字,我也会失去怎么做。

最好的答案是执行git命令,而不是链接到整个英语文档来翻译...提前感谢。

1 个答案:

答案 0 :(得分:3)

git rebase -i HEAD~5

首先只改变未成年人后面两个专业的行(改变他们的顺序)。 在那之后,选择两个未成年人来获得一个被压扁的提交。

所以你有rebase菜单:

  1. 选择Major B
  2. 选择Major A
  3. 选择次要
  4. s minor
  5. s minor
  6. 但为新手做这件事的最好方法是在当地分支并测试那里的一切。如果您了解它的工作原理,Rebase是功能强大且易于使用的工具。