Git 合并和更改,安全的处理方式



我正在尝试将分支合并到主节点中。 我构建的分支称为auths_images,具有我想要的更改,master中覆盖。 当我合并时,我得到了一大堆错误,基本上告诉我......

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

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

添加/添加冲突意味着由于基,当前分支上的当前 (HEAD( 提交和另一个分支的提示都添加了同名文件。Git 不知道如何处理这个问题。必须将正确的组合文件放入工作树中,并在该路径名上运行git add

如果两个文件完全相同,Git 就不会有问题。 Git 会对自己说:天哪,文件somenewfile在分支auth_images中是全新的,在master中也是全新的。 但是看看,现在两个分支提示都是一样的! 我可以使用其中任何一个,一切都会好起来的!因此,这两个文件必须不同。 Git 不知道要使用哪个文件:来自auth_images顶端的文件,还是来自master顶端的不同文件? 或者也许正确的做法是将每个部分结合起来!

如果您确定这两个文件中只有一个是正确的,只需立即从该提交中提取该文件:

git checkout master -- somenewfile

或:

git checkout auth_images -- somenewfile

请记住,根据定义,这两者是不同的:如果它们是相同的,Git 就不会抱怨。 因此,请确保您得到正确的。

从右侧分支提示签出右侧文件的操作将解决此特定文件。 对两个分支提示之一中的某个特定文件正确的所有其他add/add冲突重复此操作。 假设这些是唯一的问题,您的git status现在会说所有问题都已解决,合并已准备好提交,您现在可以运行:

git commit

以完成合并。

最新更新