有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分支都是可以操作的!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。