用于解决 git 中的合并冲突的控制台 UI 工具......就像 vimdiff 但“更容易”
Posted
技术标签:
【中文标题】用于解决 git 中的合并冲突的控制台 UI 工具......就像 vimdiff 但“更容易”【英文标题】:console UI tool for resolving merge conflicts in git... like vimdiff but 'easier' 【发布时间】:2010-12-21 10:45:49 【问题描述】:我正在寻找一个控制台 UI 工具来解决 git 中的合并冲突......就像 vimdiff 但“更容易”
【问题讨论】:
【参考方案1】:我留在vimdiff
,但我通常只保留要打开的文件可见(在此窗口上运行:only
),然后我用@禁用差异颜色(大部分时间会伤害眼睛) 987654323@.
最后,我有以下映射可以帮助我浏览冲突标记:
nnoremap <space>n /^\(<<<<\\|====\\|>>>>\)<CR>
在普通模式下,按<space>n
,它会搜索标记,然后使用n
从一个标记转到另一个标记。
从这一点开始,我会编辑我的冲突,直到我满意为止。
【讨论】:
【参考方案2】:threesome.vim
vim 插件提供了比普通 vimdiff 更友好的合并工具。
关于当您git pull
时查看哪些文件将更改的评论:git diff --stat HEAD..origin/$(git rev-parse --abbrev-ref HEAD)
在git fetch
之后会告诉您。 (用--name-only
替换--stat
,如果你真的只想要名字而不需要其他东西。或者完全省略--stat
以查看实际传入的差异)你可能希望在全局配置文件中为此添加一个别名。
【讨论】:
【参考方案3】:这不是您要寻找的,但git stash
对解决合并非常有帮助。做吧:
git stash create
git pull
git stash pop <stashnum>
其中<stashnum>
是git stash create
的输出
【讨论】:
我经常使用 git stash,谢谢。有没有一种简单的方法可以知道哪些文件将在下一个 'git pull' 中更新?以上是关于用于解决 git 中的合并冲突的控制台 UI 工具......就像 vimdiff 但“更容易”的主要内容,如果未能解决你的问题,请参考以下文章