就我而言,手动解决的冲突是最大的错误来源之一。
目前,我们正在解决在一台显示器前大声收集的冲突,我认为这是石器时代的做法。此外,在保存和关闭视觉差异工具之后,如果我们想要仔细检查或修复某些内容,我们以后就无法返回到冲突视图。
我正在寻找一种快速查看git中所有最新手动解决冲突的方法。
我希望看到每个冲突的A分支,B分支和结果代码。
我可以手动为desided工具提供提交编号,或者我可以在列表中看到冲突。
Offtopic:
我的好主意是在发生冲突时引入合并审查。负责该部分代码(在两个分支中)的所有开发人员都应该检查冲突,尤其是当他们远程工作时。在双方确认后才能合并?
答案 0 :(得分:2)
我觉得通过改变工作流程也许可以避免这些“大喊大叫”。假设开发人员正在开发一个主题分支,他就落后于master
。
A--B--C--D--E--F
\
X--Y--Z
而不是他或小组提出合并提交,他可以将他的更改改为他的本地master
A--B--C--D--E--F
\
X'--Y'--Z'
然后,当时机成熟时,它将允许对“官方”主人的清洁合并提交
A--B--C--D--E--F--X'--Y'--Z'
答案 1 :(得分:2)
使用git非常容易:
git log --patch -c -1 YOURMERGE
这将输出如下内容:
index ea575f9,b943345..239a586
--- a/file-with-conflicts.txt
+++ b/file-with-conflicts.txt
@@@ -1,1 -1,1 +1,1 @@@
- Version A
-Version B
++Merge Resolution
答案 2 :(得分:0)
来自git help log
页面:
git log --patch -c -1 <commit-id>
-c 使用此选项,合并提交的diff输出显示每个父项与合并结果的差异 同时而不是在父母和父母之间显示成对差异 结果一到 一时间此外,它仅列出了从所有父母修改过的文件。
-p,-u, - patch 生成补丁(请参阅生成补丁的部分)。