从 master 中删除合并
Remove a merge from master
我有一个分支合并到 master 中。然后我们将其他东西合并到 master 中。所以我们现在在 master
中有这个状态
------------------------------
stuff added to master recently
------------------------------
my branch merged into master
------------------------------
old stuff in master
------------------------------
我想从 master 中删除我的合并并保持所有其他不变,以便我在 master 中获得以下状态
------------------------------
stuff added to master recently
------------------------------
old stuff in master
------------------------------
我该怎么做?
您可以在 master
上进行交互式变基,并使用该交互式变基会话删除您不再需要的提交 (git rebase -i
)。
git checkout master
git rebase -i <SHA1 old stuff in master>
请注意,它会更改 master 历史记录,如果您已经将 master 推送到远程仓库,这将导致 git push --force
。对于已经从同一个远程仓库中提取的其他人来说,这可能会带来不便。
如果你已经推送了 master,那么 git revert -m 1
would be easier to push as well: See "Undo a Git merge?”。这将创建一个新的提交(取消合并)
我有一个分支合并到 master 中。然后我们将其他东西合并到 master 中。所以我们现在在 master
中有这个状态------------------------------
stuff added to master recently
------------------------------
my branch merged into master
------------------------------
old stuff in master
------------------------------
我想从 master 中删除我的合并并保持所有其他不变,以便我在 master 中获得以下状态
------------------------------
stuff added to master recently
------------------------------
old stuff in master
------------------------------
我该怎么做?
您可以在 master
上进行交互式变基,并使用该交互式变基会话删除您不再需要的提交 (git rebase -i
)。
git checkout master
git rebase -i <SHA1 old stuff in master>
请注意,它会更改 master 历史记录,如果您已经将 master 推送到远程仓库,这将导致 git push --force
。对于已经从同一个远程仓库中提取的其他人来说,这可能会带来不便。
如果你已经推送了 master,那么 git revert -m 1
would be easier to push as well: See "Undo a Git merge?”。这将创建一个新的提交(取消合并)