最近在公司开始用merge request进行代码合并了。
然后不知道为啥,如果待合并分支(A)进行merge request到主分支(B)的时候,如果A和B有冲突,然后我在gitlab上使用页面进行冲突的解决,比如:
A和B在某一行代码有冲突的时候,我选择了使用A分支上的代码。
然后就会莫名其妙出现一条merge B into A的提交记录。
这就非常奇怪了,这肯定是我们不希望看见的。
所以这个时候我们就又得手动回滚回去了。
出现分支合并的时候莫名其妙合并了release分支的情况,我们的解决方法:
- 首先输入git log ---oneline获取到你想要reset到的分支,这个分支应该是出现误操作meger了release分支之前的前一个分支。
- 使用git reset --hard <commit_hash>回滚到你想要回滚到的位置
- git push origin branch_name --force 强制保证remote的分支和本地分支保持一致,此时remote和本地就一致了,你的merge-release的操作就不会出现了。
其中操作1和操作2你可以使用可视化界面例如IDEA的reset 直接回滚回去。
然后你手动输入操作3就好。