用于解决 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>

在普通模式下,按&lt;space&gt;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>

其中&lt;stashnum&gt;git stash create 的输出

【讨论】:

我经常使用 git stash,谢谢。有没有一种简单的方法可以知道哪些文件将在下一个 'git pull' 中更新?

以上是关于用于解决 git 中的合并冲突的控制台 UI 工具......就像 vimdiff 但“更容易”的主要内容,如果未能解决你的问题,请参考以下文章

解决 Git 冲突的 14 个建议和工具

如何解决Git中的合并冲突

版本控制器Git的使用。

windows中使用Git如何解决文件冲突?

Git:关于合并算法、冲突格式以及与合并工具的相互作用的困惑

解决 git 中的“都添加”合并冲突?