我遇到合并问题,但是git没有将文件标记为冲突。
当我尝试使用git mergetool
打开文件时,git只会说:No files need merging
。
如何在三方比较中打开没有合并冲突的文件?
答案 0 :(得分:2)
您可以执行以下操作:
git merge --no-commit topic
git checkout --merge that_file
git mergetool that_file
git commit
也就是说,您避免成功合并创建提交,然后您假装that_file
中存在冲突,然后您可以使用git mergetool
处理该文件。最后,您提交结果。
答案 1 :(得分:0)
git mergetool使用.gitconfig [merge]部分中指定的工具 git mergetool --tool-help
结帐topic
将其中一个配置为git diff工具
例如:
git config --global diff.tool kdiff3
但是我知道git diff只能做2路差异 解决方案是签出3个不同的目录并运行kdiff3
答案 2 :(得分:0)
可悲的是,我无法复制@Filp Stefanov的成功,所以我用手工很难做到
(从存储库根目录开始)
git merge --no-ff --no-commit <topic>
git show HEAD:<file> > <file>.ours
git show MERGE_HEAD:<file> > <file>.theirs
$(git config merge.tool) <file>.ours <file> <file>.theirs
rm <file>.ours <file>.theirs
git add <file>
git commit
大声说,
如果这基本上是git本身所做的,我不会感到惊讶