git commit中的-CHEAD是什么意思?

4

GitHub 文档页面上,我看到了以下命令:

$ git commit --amend -CHEAD
# Amend the previous commit with your change

我之前使用过git commit --amend命令,但是我还没有遇到过-CHEAD参数。在这种情况下,-CHEAD是什么意思,它与--no-edit有何不同?

2个回答

7
-CHEAD(一般我会拼作-C HEAD)在此处是不必要的,但其意义非常简单。正如git commit文档所述,-C选项是--reuse-message的缩写:

-C <commit>
--reuse-message=<commit>
      使用现有的提交对象,在创建提交时重用日志消息和作者信息(包括时间戳)。

这类似于小写字母-c选项,但有一个简单的区别:

-c <commit>
--reedit-message=<commit>
      像-C一样,但使用-c后会调用编辑器,以便用户进一步编辑提交消息。

因此,-C commit等效于-c commit --no-edit,或者如果你愿意,交换c选项的大小写并添加--edit

大写字母的HEADgitrevisions文档中所述相同:

HEAD指定了你在工作树中对变更进行更改的提交

(或者等价于当前检出的提交)。因此,-C HEAD意味着获取当前提交的提交消息,而无需编辑它。

对于--amend--no-edit表示获取当前提交的提交消息,而不编辑它,--edit表示获取当前提交的提交消息,但会停止编辑它。因此,这在--amend中完全等效。对于其他提交选项,-C-F-m选项指定了初始提交消息的来源,可以按指定进行编辑或不编辑。


4

来自于git commit文档:

-C <commit>
--reuse-message=<commit>
使用已经存在的提交(commit)对象,在创建提交(commit)时重用日志信息和作者信息(包括时间戳)。

HEAD是你当前历史记录中最新的提交(commit)(通常是你当前所在的分支)。

这意味着,你使用与要修改的提交(commit)相同的提交(commit)消息。

--no-edit文档说明:

不打开编辑器使用选定的提交(commit)消息。例如,git commit --amend --no-edit修改一个提交(commit),而不更改其提交(commit)消息。

根据文档,-C将重用“作者信息(包括时间戳)”,而--no-edit则不会。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接