翱翔天空3.2 git使用git difftool观察和修改差异
在git中,编辑过代码后,提交前,大多人都会使用git diff比较下差异,有时也会和其他分支比较下差异,大多情况下使用git diff。可git diff有个缺陷,只能看到改动文本,而把大量的上下文隐藏了起来,那么有没有办法得到更加好的diff输出呢。
答案是修改配置文件,加入diff.tool选项:
[diff]
tool = vimdiff
这里我设为了vimdiff ,也可以设为kdiff3 ,meld,beyond compare 等其他比较工具。设为vimdiff的优点是,可以在windows上的linux虚拟终端软件如secureCrt、Xshell里使用。
使用方法 很简单 ,使用 git difftool 就可。
这时可以方便的以两栏的方式竖直显示,并且可以方便的看到上下文。不只如此,还可以在每个差异块见跳转
] c 跳转到下一差异
[c 跳转到上一差异
如果想放弃某一处修改,还可以使用如下命令来获取历史版本中的该处的文本。
do 获取另一缓冲区的差异。
dp 将另一缓冲区 块的文本改为和本缓冲区一致。
上文中使用光标在右侧差异块时,使用do,将使右侧文本和左侧完全一样,放弃了修改。另外,退出vimdiff时,如果想保留do、 dp的改动,记得要保存文件 “ :wqa” 。
如果改动的文件比较多,使用git difftool 时会依次用vimdiff 比较每个有变动的文件。
是不是比以前操作方便了许多,赶快体验一下吧。
Posted 2016-01-27