Git合并(冲突)
我知道如果您修改文件中的相同行并尝试合并分支,您会遇到合并冲突,因为它不知道要保留哪个版本。Git合并(冲突)
那么,这是否意味着,如果你在一个文件中修改不同的线路,混帐将能合并吗?这只适用于添加新行或删除吗?如果在一个分支中,该文件未经修改/未经修改,而在另一个分支中,则会删除该文件中的几行。如果我们合并分支,git是否保留删除?
谢谢!
当两个用户在同一个文件时,通常会有不会有任何合并冲突,除非修改文件在同一行。
这意味着,如果一条线是一个分支删除,并在另一个保持不变,当两个分支合并的缺失将保持不变。
Git不合并文件。它合并了更改。
那么,在技术上它合并分支机构,但如果我们考虑一个单一的文件,它结合了这些分支机构带来的变化。
所以,如果如你所说,在一个分支,我们还没有修改的文件,并在另一个我们已经删除了文件的某些行,如果合并,那么,缺失将保持和合并。也就是说,最终的合并文件也会删除这些行。
确切的算法是相当复杂的,至少比“不一样行”更复杂。
例如,合并算法需要识别变化的上下文,并且为了这样做,它将需要不改变的周围线。
因此,如果一个分支修改单行线,而在另一个分支修改一行或下一行,试图合并在合并冲突可能结束。
我认为“合并更改”在技术上比“合并分支”更正确,因为Git只是找到合并基础并将两个提交与该合并基础进行比较。特别是你可以做'git checkout hash1; git合并hash2'以使另一个特定提交合并的分离HEAD提交。人们可以争辩说这些是两个匿名的分支,所以这种方式并不是很明确,无论如何,它们都是很好的区别,你的回答是正确的。 :-) – torek
可能重复的[如何解决合并冲突在Git?](http://stackoverflow.com/questions/161813/how-to-resolve-merge-conflicts-in-git) – thirtythreeforty