是否可以设置Git以便我可以在KDiff3中使用三向比较?
我有两个分支,它们太不同了,无法自动合并它们,我只需检查每个合并点,我认为最好的方法是检查分支我希望从其他分支的更改并说
git difftool HEAD_OF_OTHER_BRANCH -- .
Run Code Online (Sandbox Code Playgroud)
然后在KDiff3中选择合并文件.在完成了我刚刚提交的文件之后.
我已将merge.conflictstyle和diff.conflictstyle设置为diff3,但KDiff3仍然以双向diff开头.这可能吗?我想如果Git也将共同祖先的哈希作为参数发送,这是可能的,但是它呢?
有讨论有关如何使用SVN和BC3做到这一点,但我无法找到Git和KDiff3什么.
在命令行上运行:
git config --global mergetool.kdiff3.path /path/for/your/kdiff3/binary
Run Code Online (Sandbox Code Playgroud)
然后,在解决冲突时,您只需要做:
git mergetool --tool=kdiff3
Run Code Online (Sandbox Code Playgroud)
看起来 git diff 只做 2 路 diff (这对于生成补丁等有意义),除了在合并状态下,你必须为此进行合并。前几天我也遇到了类似的情况,最终我使用了该ours策略进行了合并。这有效,但并不理想。也许我们需要一个“非解决”合并策略,它不会尝试解决任何冲突。您也许可以通过调整 .git/MERGE_* 文件并将所有文件设置为冲突来模拟这一点。
否则,明显的解决方案是签出 3 个不同的目录并运行 kdiff3 ,但我猜您正在寻找更优雅的解决方案
| 归档时间: |
|
| 查看次数: |
6657 次 |
| 最近记录: |