在 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/

10-11 06:53