Git 我如何提交当前显示在Vim中的文件?
我正在编辑分为三个窗口打开的文件。我想把它们提交到存储库中。有什么命令可以完成这项任务吗?有几种方法可以完成这项任务。我将概述使用Git 我如何提交当前显示在Vim中的文件?,git,vim,vim-fugitive,Git,Vim,Vim Fugitive,我正在编辑分为三个窗口打开的文件。我想把它们提交到存储库中。有什么命令可以完成这项任务吗?有几种方法可以完成这项任务。我将概述使用:Gstatus的最具交互性的方法 通过:Gstatus打开状态窗口 通过/ 通过- 在状态窗口中通过cc开始提交 创建提交消息并保存并关闭窗口。(我更喜欢:x) 您还可以使用zj和zk在节之间移动 在节上使用-将暂存/取消暂存该节中的所有文件 有关:Gstatus的更多帮助,请参阅:h:Gstatus或g?当处于:Gstatus缓冲区时 可以使用:Gwrite和
:Gstatus
的最具交互性的方法
- 通过
:Gstatus打开状态窗口
- 通过
/ - 通过
-
- 在状态窗口中通过
开始提交cc
- 创建提交消息并保存并关闭窗口。(我更喜欢
):x
- 您还可以使用
和zj
在节之间移动zk
- 在节上使用
将暂存/取消暂存该节中的所有文件-
:Gstatus
的更多帮助,请参阅:h:Gstatus
或g?
当处于:Gstatus
缓冲区时
可以使用:Gwrite
和:windo
跳过:Gstatus
窗口,以加快速度
:windo Gw
:Gcommit
您还可以使用-m
标志跳过整个提交窗口。e、 g.:Gcommit-m“短消息”
我推荐关于逃犯的视频:
要了解更多信息,请参阅:
:h fugitive
:h :Gstatus
:h :Gw
:h :Gcommit
:h :windo
:h :x
无逃犯:
:windo !git add %
:!git commit -m "My message goes here"
最后一个命令可以替换为:
:!git commit --interactive
非常有用。我的一个抱怨是,在执行
:x
保存提交消息后,状态窗口也会关闭。但是我经常打开状态窗口,并且索引和工作副本不同。我正在使用diffget
(第二次vimcast中描述的--patch
工作流的改进版本)逐段添加更改。因此,我真正想要的是能够提交(我确实希望使用完整窗口来编写可能的多行消息),但我不希望状态窗口在保存后关闭。这可能吗?您可以在:Gstatus
窗口或:Gcommit--verbose
中执行详细提交cvc
。它将在新选项卡中打开一条提交消息,其中包含更多提交详细信息