在 Fugitive 中,我可以通过:Gstatus
在新窗口中获取git状态,并在该窗口中获取文件上的D以获取新拆分中的diff。
也可以使用:Glog
获取文件的所有版本,并且我可以使用:Glog --
加载所有先前的提交。
我想做的是为两个分支的差异获取 Gstatus 窗口。例如,我的主题和开发分支,以便可以比较所有已更改的文件。
是否有可能获得一个交互式窗口,其中包含两次提交之间更改的所有文件?
最佳答案
由于git不支持两个修订版之间的Mercurial/Bazaar状态,因此 Fugitive 也无法做到这一点。 Git改为使用git diff --name-status
,但是简单的grep显示该功能从未在 Fugitive 中使用,除了在执行:Gw
和 friend 时检查某些文件是否干净(即未修改)外。
如果您不担心某些实验性代码,则可以尝试使用aurum,它可以为您带来状态窗口
AuStatus rev topic wdrev development
并使用
C
查看特定文件的vimdiff(默认情况下会关闭状态窗口,请避免使用let g:aurum_statwincmd='k'
)。注意:使用hg-git和vim + python aurum编译将使用更稳定的代码,因为Mercurial是我使用的主要VCS。
另一个想法是使用vcscommand,mercurial/bazaar和hg-git/bzr-git。然后状态将以
VCSStatus -r topic -r development
( Mercurial ,不记得如何在集市上做)。我虽然不熟悉vcscommand,所以不能说它在状态缓冲区中是否提供了与 Fugitive 或aurum一样多的交互功能(似乎没有:git状态缓冲区中的
nmap <buffer>
没有显示任何内容)。上面的代码应根据文档工作,但我尚未测试。关于git - 如何区分两个分支与 Fugitive ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13304469/