如何修改已经合并的提交

时间:2017-10-23 07:38:23

标签: git merge commit rebase

我需要从rebase追溯merged commits master到功能分支。

功能分支从master分支出来(功能分支是图片中的蓝线),然后功能分支上有多个提交(蓝点),然后master被合并提交回到feature branch(而不是rebased - master是图片中的红线)。

所以我需要“返回”2 merge commits并重新定义它们,同时保持功能分支不变。

enter image description here

2 个答案:

答案 0 :(得分:2)

您还可以在使用主分支进行拆分之前将分支重置为提交,然后将所有更改提交到1个压缩的提交中。 在那之后,简单地对主人进行改造。

所以,在你的分支上:

git reset --soft <commit SHA>
git add <All changes>
git commit -m "<commit message>"
git rebase master

答案 1 :(得分:0)

您可以使用git rebase -i并在第二次及后续提交中使用“squash”或“fixup”替换“pick”。

此处有详细说明:

https://git-scm.com/docs/git-rebase#_interactive_mode

在你这样做后,你需要推到远程仓库(我想用力)。