如何在git中使用merge=union自动合并后查看冲突
我在如何在git中使用merge=union自动合并后查看冲突,git,merge,conflict,gitattributes,Git,Merge,Conflict,Gitattributes,我在.gittributes中有*.csproj merge=union,我很高兴git是如何管理合并的。不过,在其他情况下,git在合并xml文件方面做得很差,例如*.csproj(因为我听说缺少合适的xml合并驱动程序),我无法再加载VS project 所以我git reset--hard HEAD^并使用git merge--no commit--no ff再试一次,这样我就可以在提交合并之前潜入peak 例如: mkdir foobar && cd foobar git
.gittributes
中有*.csproj merge=union
,我很高兴git是如何管理合并的。不过,在其他情况下,git在合并xml文件方面做得很差,例如*.csproj
(因为我听说缺少合适的xml合并驱动程序),我无法再加载VS project
所以我git reset--hard HEAD^
并使用git merge--no commit--no ff
再试一次,这样我就可以在提交合并之前潜入peak
例如:
mkdir foobar && cd foobar
git init
echo "README merge=union" > .gitattributes
echo "Hello" > README
git add --all
git commit -m 'Initial commit.'
git checkout -b italian-translation
echo "Ciao" > README
git commit -am 'Italian translation'
git checkout master
git merge --no-commit --no-ff italian-translation
此时,README
包含:
Hello
Ciao
然后我尝试查看自述文件的冲突版本,以便深入了解冲突并手动解决:
git checkout -m README
我期待类似的事情:
<<<
Hello
===
Ciao
>>>
请问我这里缺什么
谢谢。通过指定“merge=union”,两个版本的文件合并成功,没有冲突,“successful”合并提交给master
在某些情况下,这是合适的,但是,正如您所经历的,XML不是其中之一。对于XML文件,您最好使用默认的合并算法,该算法将遇到冲突,并使用“
Hello
Ciao