通过:Gstatus
,我可以在新的窗口中获取Git状态,在该窗口中按下D键即可在新的分屏中查看文件差异。
还可以使用:Glog
来获取文件的所有版本,并使用:Glog --
加载所有以前的提交。
我想做的是为两个分支之间的差异获取一个Gstatus窗口。例如,我的topic和development分支,这样我就可以比较所有已更改的文件。
是否可能获得一个交互式窗口,其中包含在两个提交之间更改的所有文件?
通过:Gstatus
,我可以在新的窗口中获取Git状态,在该窗口中按下D键即可在新的分屏中查看文件差异。
还可以使用:Glog
来获取文件的所有版本,并使用:Glog --
加载所有以前的提交。
我想做的是为两个分支之间的差异获取一个Gstatus窗口。例如,我的topic和development分支,这样我就可以比较所有已更改的文件。
是否可能获得一个交互式窗口,其中包含在两个提交之间更改的所有文件?
AuStatus rev topic wdrev development
使用 C
命令查看特定文件的 vimdiff(默认情况下会关闭状态窗口,使用 let g:aurum_statwincmd='k'
可以避免)。请注意:如果使用 hg-git 并且编译时启用了 +python 选项,则 aurum 将使用更稳定的代码,因为我使用 mercurial 作为主要版本控制系统。
另一个想法是使用 vcscommand,mercurial/bazaar 和 hg-git/bzr-git。然后可以通过以下方式查看状态:
VCSStatus -r topic -r development
< p >(水星,不记得如何在bazaar中操作)。我对vcscommand不熟悉,所以无法确定它是否像fugitive或aurum一样在状态缓冲区中提供许多交互功能(似乎没有:nmap <buffer>
在git状态缓冲区中没有显示任何内容)。根据文档,上述代码应该可以工作,但我尚未测试。
git diff
。main
(master
)分支,并且你想在Vim中将develop
分支与其进行比较,以查看即将合并的更改。
:Git checkout main
:Merginal
Press ? for help
develop
* master
?
gd Open diff files buffer to diff
against the branch under the
cursor.
gd
(similar to any Fugitive command)Press ? for help
=== Diffing With: ===
develop
=====================
M README.md
dv
with the cursor over the file and it will open a vertical diffsplit
:
git diff --name-status {REV1}..{REV2}
拉入窗口可能会很方便。或者也许有更好的工作流程……我会收藏并关注任何神奇的想法。 - Dan Fitch:Git diff branch1 branch2 --
。然而,这并不理想,因为它只显示标准的diff输出。 - icc97