Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 合并新行上的冲突_Git - Fatal编程技术网

Git 合并新行上的冲突

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):

尝试合并在同一文件的内容中有新行的分支时发生合并冲突

这些是我在创建分支时采取的步骤

当我想将分支“bye”提交(C)与主提交(B)合并时,就会出现冲突。bye和master分支都包含一个ruby文件。master有两行,bye有三行,唯一不同的是bye有一行新行


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合并/再基础只有在添加其他文件时才有用,而不是在相同的文件中添加额外的行?如果你甚至不能修改同一个文件的话,我就很难在合并点上绞尽脑汁了。是的,我很感激我没有在工作环境中使用它,我只是照本宣科。在付诸实践之前,我想确保我正确理解了它。如果合并/重定分支与其他相互独立的文件不会导致冲突,但修改同一个文件会导致冲突,这在某种程度上帮助我理解它。