我需要更好地理解分支合并程序。
遵循下一个设计:
可能是任何代码丢失,或者最后分支会有所有提交?
从我的观点来看,提交的每一个都有其唯一的哈希值,但我们在某个时刻经历过一些代码丢失而不是冲突解决,我们不确定我们在过去做错了什么我们不希望再发生这种情况。
我很感激澄清。
答案 0 :(得分:1)
我们在某个时刻经历过一些代码丢失而不是解决冲突
仅当自上次合并基础以来有并发更改时才会发生冲突 如果仅在一个分支上发生更改(自上次合并以来),则将该分支合并到其目标分支将导致使用源分支内容覆盖目标分支内容。
尝试使用以下方法重新制作有问题的合并:
git config merge.conflictStyle diff3
这样,您将看到共同的祖先以及源代码和目标代码冲突 请参阅this merge conflict example。
另请注意,将C
合并到B
并不意味着分支A
,B
和C
的HEAD等于({{1} }}}暗示):branch C(=A=B)
保留在B
,c8
有一个合并提交(合并的结果),C
没有移动。