Git difftool处于读写模式

时间:2013-04-26 09:13:09

标签: git vim

我的〜/ .gitconfig

中有以下配置
[diff]
    tool = vimdiff
[diftool]
    prompt = false

当我启动git difftool时,它默认以只读模式打开缓冲区。 我使用它来检查提交之前的更改,并说我发现一些小的更改,如我没有删除的注释掉的行或JS console.log语句,我被迫退出该工具并打开文件并进行更改。我非常想在视觉差异窗口中进行更改。

http://gitlog.wordpress.com/2011/03/30/git-1-7-4-2/ 说“”git difftool“并没有告诉(g)vimdiff它正在阅读的文件是什么 以只读方式打开。“从此我认为这种只读行为是理想的。

  1. 我很想知道为什么在difftool中选择只读行为作为默认行为。

  2. 有什么办法可以配置difftool来允许读/写吗?

  3. git, vimdiff and dirdiff,我看到vim和git diffall脚本的逃逸插件也可以作为替代方案,使这个差异审查过程更容易。使用逃犯是否会开启使用读/写视觉差异模式的可能性?

2 个答案:

答案 0 :(得分:6)

如果您没有使用逃犯,可以使用

切换只读模式(每个窗格!)
:set readonly!

:set ro!

答案 1 :(得分:3)

Fugitive将允许您在区分时更改工作副本文件。只需运行:Gdiff,就会出现带索引版本的垂直拆分。现在,您可以在工作副本中:diffput(或简短dp)将块放入索引文件中,或者从索引中放入:diffget(或短do)文件以从工作副本中获取块。一旦你拥有了你想要的索引文件中的所有内容,保存它,现在它将成为你的藏匿版本。

真正帮助我理解这个过程的是关于Fugitive.vim的#31到#35的vimcast:
http://vimcasts.org/episodes/archive