乐趣区

关于git:Gitmerge后想撤销该merge操作

有 release、test 两个分支,test 上进行批改提交后,merge 到 release 分支,但 merge 后想撤销此次 merge 操作,那要怎么操作呢?

# 撤销 merge 操作
release 分支:git revert fcd8a101 -m 1 

其中”fcd8a101“为想要撤销操作的 commit id,-m 示意要撤销 merge 操作,不加 - m 示意撤销一般 commit 操作。

撤销 merge 操作后 test 分支无奈再次 merge 到 release

起因:无奈再次 merge 是因为 revert 操作是新操作笼罩旧操作,所以之前的批改相当于被摈弃,此时 test 分支是落后 release 分支的。

若想要实现 test 能够 merge 到 release 分支,能够将 release 分支先合并到 test 分支:

# 合并 release 到 test
test 分支:git merge release

此时 release 分支的批改都被带到了 test 分支,包含在 release 分支的 revert 操作,所以当初 test 分支本来的代码此时没有了。
重点来了⚠️ 这时 须要把 revert 产生的提交再 revert 一次,test 上本来的代码又回来了,此时再进行批改或者 merge 到 release 分支都是能够操作的!

退出移动版