从功能分支中的功能分支中删除合并提交的影响,这两个功能分支都将合并到

时间:2019-08-28 22:14:58

标签: git git-merge git-revert reverting

简而言之,我已经将功能分支中的更改合并到我当前的功能分支中,并远程推送了合并,使用合并的更改创建了一个合并提交。现在,问题是,我不需要这些变化。同样,这些更改也破坏了我的构建,因为我将需要合并当前功能分支上其他项目的更改。我想避免这样做,所以我想还原合并提交。

Two feature branches, b1 and b2.
Merged b1 into b2, creating merge commit mc1, on b2.
Want to revert mc1 on b2.
Afraid revert mc1, will affect the merge of b1 into master staging.

恐怕是因为我感觉像是还原,显然会进行更改以删除我从b1中合并的内容,一旦两个分支都合并到master中,这些更改可能会从master中删除这些更改...

1 个答案:

答案 0 :(得分:0)

由于尚未删除上一个分支b1,因此您应该能够安全地还原b2上的提交,而不会丢失b1上的任何更改。

您可以使用以下方式还原提交:

git revert <commit hash>
git checkout <current branch>

了解有关还原提交here的更多信息。

至于与master的冲突,master将仅具有合并的更改。如果仅将 b1合并到master中, master将具有b1的更改。如果仅将 b2合并到master中,则master将具有b2的更改。如果将b1 b2合并到master中,则可能必须解决出现的任何合并冲突,但是master将包含已解决的合并冲突。从b1b2更改。