2017-08-07 52 views
0

我想将一个分支合并到主。我建立的分支名为auths_images的分支有我想在master中覆盖的更改。当我合并,我得到错误的整个sleu基本上是告诉我...Git合并和变化,安全的方式来处理

CONFLICT (add/add): Merge conflict in file 
Automatic merge failed; fix conflicts and then commit the result. 

我知道auth_images是最新与master,并有改变,将与master工作。我如何使合并工作以便使用分支中的更改?

回答

1

添加/添加冲突意味着既然您的基地,您当前的(HEAD)提交当前分支和其他分支的提示添加了一个具有相同名称的文件。 Git不知道如何处理这个问题。您必须将正确的组合文件放入工作树,然后在该路径名上运行git add

如果两个文件都是完全一样,Git就不会有问题。 Git会对自己说:Gosh,文件somenewfile在分支auth_images中是全新的,并且在master中也是全新的。但看看,这是相同现在在这两个分支提示!我可以只使用其中一个,一切都会好的!所以这两个文件必须有所不同。 Git不知道要使用哪个文件:来自auth_images的提示中的一个,还是来自master的提示的不同的文件?或者,也许正确的事情是结合每个部分!

如果你肯定知道这两个文件中只有一个是正确的,只是提取一个从现在承诺:

git checkout master -- somenewfile 

或:

git checkout auth_images -- somenewfile 

请记住,这两个根据定义不同:如果他们是一样的,Git不会抱怨。所以一定要找到合适的。

从右分支提示中检出正确分支的行为将解析此特定文件。对于其中每个其他add/add冲突重复,其中来自两个分支提示之一的某个特定文件是正确的。假设这是唯一的问题,你现在git status会说所有的问题都得到解决和合并准备提交,您现在可以运行:

git commit 

完成合并。

+0

谢谢。我在合并之后清理了文件,添加了它们,承诺并推送。 – Jaberwocky