解决与逃犯的冲突很棒。在阅读 了 Git 中的 Painless Merge Conflict Resolution 之后,我开始思考如何不仅在行级而且在字级上显示更改。
所有示例/案例均基于painless_git_conflicts_resolution 回购。Hub用于使git clone
命令更简洁。
具有残疾diff3
冲突风格的逃犯。
hub clone ryrych/painless_git_conflicts_resolution fugitive_no_diff3
cd fugitive_no_diff3/
git checkout beta
git merge origin/master
vim roses.txt
:Gdiff
结果如下:
问题是您只能看到所有行都以某种方式发生了变化。这个例子很短,但有多少人发现第 3 行中添加了of?
RubyMine 可以解决这个问题,但并非总是如此,它经常给您留下差异标记,并且没有差异突出显示。虽然在这个屏幕截图上没有差异标记,但缺乏“对比”使得解决这些冲突变得非常困难。
启用 diff3 + 显示共同祖先的逃犯:
Show base in fugitive.vim conflict diff stackoverflow 问题让我尝试接受的答案,但解决方案没有改进。
hub clone ryrych/painless_git_conflicts_resolution fugitive_with_diff3
cd fugitive_with_diff3/
git checkout beta
git merge origin/master
vim roses.txt
:split
:Gdiff
[Ctrl][W][J]
:Gedit :1
opendiff 作为mergetool
hub clone ryrych/painless_git_conflicts_resolution opendiff
cd opendiff/
git checkout beta
git merge origin/master
git mergetool
瞧!
当然,这解决了问题,但让我依赖一个仅为一个系统设计的外部工具。总结一下:是否有可能在 Vim 中实现与在 opendiff 中类似的东西?