记录一次git合并过程冲突解决过程

Sean -
记录一次git合并过程冲突解决过程

在一次功能开发完成后,准备将feature分支合并到develop分支,提pr并将feature分支合并到develop分支时,查看diff时发现异常。在准备合并前,已经将develop分支merge到feature分支,并且修改的部分只在一个专门的moduleA里,理论上diff的结果中应该只包含修改的moduleA的内容,但是却出现了大量其他moduleB的修改,并且奇怪的是甚至出现了旧的操作记录覆盖新的操作记录的情况,也就是上次从develop分支merge到feature分支的的moduleB的旧记录把本次develop上moduleB的新记录覆盖了。

调试过程,先找到最近的一次正常的commit_0,然后逐个查看从commit_0到最近的commit_last的所有commit,定位到两次commit有问题,一次是选择了提交时自动格式化,将moduleB的代码格式化了,这次之前尝试revert,但是操作时实际只revert了本地分支,在push到remote时,再次和原分支合并了,导致revert失败。另一次commit,在操作记录里显示将旧的全部重新提交了一次,虽然代码没有修改,但是代码的时间戳全部修改了,这也就导致了在把develop的新操作merge到feature分支时,新操作反而被旧操作覆盖的现象。

修复过程,将feature分支revert到正常的commit_0,并选择soft revert,也就是保留了所有的commit,然后将moduleB的修改全部revert,然后重新提交。问题解决!

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

git

扩展阅读

加个好友,技术交流

1628738909466805.jpg