有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分支都是可以操作的!


Mmmy
145 声望14 粉丝

每天都要学习鸭!🦆