我不确定何时发生此错误,我还没有在谷歌中找到任何描述.
所以我的同事们在branch1上提交了一些新文件并更改了文件.然后我得到了这些更改并将它们合并到我的分支(branch2)但不使用git merge但手动使用超比较(我知道这是一种不好的手动合并的做法).但是,在手动合并它们并复制粘贴我的分支中的新文件之后,我将工作提交到branch2.但是,现在,当他们尝试使用git merge origin/branch2从我那里获得一些更改时,他们会在最初添加的新文件上收到大量的git"添加/添加"冲突.
任何人都可以告诉我为什么git将这些文件视为冲突,尽管它们是相同的?这些冲突应该如何处理?
Sto*_*ica 38
你得到CONFLICT(添加/添加):合并冲突...冲突,因为文件实际上是不一样的.您可以使用该diff命令查看差异,例如:
git diff branch1 branch2 -- path/to/file
Run Code Online (Sandbox Code Playgroud)
where branch1和branch2是要比较的分支的名称.
或者,一种更简单的方法来查看差异,git merge当您处于冲突状态时失败后,您可以简单地在git diff没有参数的情况下运行,它将显示冲突的区域.
要解决此类冲突,您必须确定哪个分支具有正确的内容.您可以通过从相应的分支中签出文件来完成此操作,例如:
git checkout name_of_branch path/to/file
Run Code Online (Sandbox Code Playgroud)
有时,正确的内容是两个文件的混合.在这种情况下,您必须手动解决,可能通过使用git diff命令研究差异,如上例所示.
长期解决方案是避免对不同分支中的相同路径进行冲突更改,这通常是协作者之间的任务共享/通信问题.
小智 7
我有一个git(添加/添加)冲突.来自Janos的信息提供了解决方案所需的洞察力.文件"看起来"相同,但我的文件冲突文件夹在一个分支上添加了664的权限,在另一个分支上添加了755的权限.使用git status显示了文件之间的差异.
为解决冲突而采取的步骤:
git merge --abort
rm -rfv myconflictedfolder
git commit -m'Resolve git Add/Add branch merge conflict by deleting conflicted folder and files in myconflictedfolder'
git merge mybranch
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22350 次 |
| 最近记录: |