将多个提交变基为一个

Rebase multiple commits into one

我怎样才能快速变基这个分支:

(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 命令,而不是 link 翻译整个英文文档...在此先感谢。

git rebase -i HEAD~5

首先只改变未成年人后面的两个专业(改变他们的顺序)。 在那之后,将两个未成年人更改为 s 以获得一个压扁的提交。

所以你在变基菜单中有:

  1. 选择专业 B
  2. 选择专业 A
  3. 选未成年人
  4. 未成年人
  5. 未成年人

但是对于新手来说最好的方法是创建本地分支并在那里测试所有内容。如果您了解它的工作原理,Rebase 是一个强大而简单的工具。