我正在编辑分成三个窗口打开的文件。我想提交这些到代码库。是否有相应的命令可以执行此操作?
我正在编辑分成三个窗口打开的文件。我想提交这些到代码库。是否有相应的命令可以执行此操作?
有几种方法可以完成此任务。我将概述使用 :Git
的最互动方法。
:Git
打开状态窗口<c-n>
/<c-p>
在文件之间移动-
暂存/取消暂存文件cc
开始提交:x
)zj
和 zk
在各个部分之间移动-
将会暂存/取消暂存该部分中的所有文件有关 :Git
的更多帮助,请参见:h :Git
或在 :Git
缓冲区中使用 :G
。
可以使用 :Gwrite
或 :Gw
和 :windo
跳过 :Git
窗口以加快速度。
:windo Gw
:Git commit
你可以使用-m
标记跳过整个提交窗口,例如::Git commit -m“简短的消息”
我建议参考GitHub上的官方仓库和关于Fugitive的Vimcasts视频:The Fugitive Series - a retrospective。要了解更多信息,请参见:
:h fugitive
:h :Git
:h :Gw
:h :Git commit
:h :windo
:h :x
无逃生路:
:windo !git add %
:!git commit -m "My message goes here"
:!git commit --interactive
:x
保存提交消息后,状态窗口也关闭了。但我经常同时打开状态窗口和索引以及工作副本的差异。我正在使用diffget
(第2个vimcast中描述的“--patch”工作流的改进版本)逐步添加更改。所以我真正想要的是能够提交(我确实想使用完整的窗口来组成我的可能是多行的消息),但我不希望在保存后关闭状态窗口。这可行吗? - Jonah:Gstatus
窗口或:Gcommit --verbose
中进行详细提交cvc
。这将在新标签页中打开一个提交消息,其中包含更多的提交细节。 - Peter Rincker