保护代码免受合并冲突

保护代码免受合并冲突

假设git版本控制:如果同事正在修改我也在处理的代码(在他们自己的分支中),并且我知道他们所做的更改,我是否可以在我们两个分支合并之前简单地将这些更改添加到我的分支中(手动或通过 diff patch)以避免合并冲突?

答案1

不,那样不行,而且可能会让事情变得更糟。

当 Git 执行合并时,它只考虑三个点:要合并的两个头(分支),以及第三个点,称为合并基础,通常是最近的共同祖先。合并时,如果一方有更改而另一方没有,则 Git 将采用有更改的一方。如果双方在同一区域都有更改,则会发生合并冲突。

就你的情况而言,如果你和你的同事都做了相同的更改,那么 Git 会采纳该结果,就像你们其中一人做了更改一样。但是,如果你们都做了相同的更改(通过将数据从一个分支复制到另一个分支),并且你们其中一人也在附近处理其他更改,那么就会发生不必要的冲突,因为两个区域的上下文意外重叠。

如果您要对同一行或非常接近的行进行更改,那么无论如何都会发生冲突,因此无论如何你们其中一人都必须解决它。最好只依靠正常的合并机制来做正确的事情。

相关内容