Git 合并新行上的冲突
尝试合并在同一文件的内容中有新行的分支时发生合并冲突 这些是我在创建分支时采取的步骤 当我想将分支“bye”提交(C)与主提交(B)合并时,就会出现冲突。bye和master分支都包含一个ruby文件。master有两行,bye有三行,唯一不同的是bye有一行新行Git 合并新行上的冲突,git,Git,尝试合并在同一文件的内容中有新行的分支时发生合并冲突 这些是我在创建分支时采取的步骤 当我想将分支“bye”提交(C)与主提交(B)合并时,就会出现冲突。bye和master分支都包含一个ruby文件。master有两行,bye有三行,唯一不同的是bye有一行新行 1-主分支和提交(A): “嗨” 2-创建hello分支并提交(B): “嗨” “你好” 3-创建分支并提交(C): “嗨” “你好” “再见” 4-将hello与master合并(B): “嗨” “你好” 5-与主机合并(C):
1-主分支和提交(A): “嗨” 2-创建hello分支并提交(B): “嗨” “你好” 3-创建分支并提交(C): “嗨” “你好” “再见” 4-将hello与master合并(B): “嗨” “你好” 5-与主机合并(C):
合并冲突-Ruby文件的内容 “嗨” >再见
分支图: *14f1df7(再见)C |*e5e0022(机头->主机)B |/
*78a8dfe A
我没想到会有合并冲突,因为我没有修改原来的行,只是添加了一个新的行
我做错了什么?我这样做是错误的吗?我相信您希望在主分支的顶部重新设置分支C的基础,而不是合并。您可以从Git文档中阅读更多内容:Git看到了不同的、重叠的或相邻的添加集,因为
A
-commit基希望您说出正确的合并结果
puts "hi"
<<<<<<< HEAD
puts "hello"
=======
puts "hello"
puts "bye"
>>>>>>> bye
放“hi”
>再见
使用你的合并工具需要两秒钟的时间来选择,对于我的(vimdiff),实际上需要三次击键,3do
,从缓冲区3中选择结果,即“他们的”版本。键入git mergetool
并随后保存会将解决此问题的总时间增加到5秒
Git不会检查这两组更改的内部相似性,如果它检查了,那么肯定会为您正确解决的情况在实践中非常罕见,而且非常容易处理,因此不值得这样做。Ok,因此,据我所知,git合并/再基础只有在添加其他文件时才有用,而不是在相同的文件中添加额外的行?如果你甚至不能修改同一个文件的话,我就很难在合并点上绞尽脑汁了。是的,我很感激我没有在工作环境中使用它,我只是照本宣科。在付诸实践之前,我想确保我正确理解了它。如果合并/重定分支与其他相互独立的文件不会导致冲突,但修改同一个文件会导致冲突,这在某种程度上帮助我理解它。