如何在一些提交之后删除git merge

如何在一些提交之后删除git merge,git,Git,我正在从事一个功能分支us\u stable。我在这个us\u stable分支中合并了另一个分支Proto,然后我做了更多的提交并推送到us\u stable分支。现在我想恢复我在开始时合并的分支。在我的例子中,我想还原在Proto中合并的更改。我的问题是: 是否可以恢复该合并?如果是,如何进行 您可以发出以下命令: git rebase master -i 它只选择您想要的提交,并丢弃其他提交 您可以使用git reset--hard abcdef123将当前分支移动到commit ab

我正在从事一个功能分支
us\u stable
。我在这个
us\u stable
分支中合并了另一个分支
Proto
,然后我做了更多的提交并推送到
us\u stable
分支。现在我想恢复我在开始时合并的分支。在我的例子中,我想还原在
Proto
中合并的更改。我的问题是:

  • 是否可以恢复该合并?如果是,如何进行

您可以发出以下命令:

git rebase master -i

它只选择您想要的提交,并丢弃其他提交

您可以使用
git reset--hard abcdef123
将当前分支移动到commit abcdef123,例如,移动到合并前的commit

git push——可能需要强制
来推动这样的分支


有关详细信息,请参见
git help reset
和。

因为,
git
使用SHA值来组织提交,所以不能删除中间合并。中间合并不存在。我创建了一个myFeature分支,并立即在其中合并了另一个分支,然后我开始处理myFeature分支,并进行了3次提交,然后推送到myFeature分支并合并。现在我想忽略已合并的更改。您描述的场景正是@ArslanAli所说的“中间”合并。我不想重新设置myFeature分支的基础。我只想恢复我一开始做的合并。这个答案绝对是你想要做的。但可能不是在
master
上,而是在从分支开始的提交上。