git-commit(1)⼿册页
每⼀次运⾏提交操作,都是对你项⽬作⼀次快照,以后可以回到这个状态,或者进⾏⽐较。
名称
git-commit - 记录对存储库的更改
概要
git commit [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]
[--dry-run] [(-c | -C | --fixup | --squash) <commit>]
[-F <file> | -m <msg>] [--reset-author] [--allow-empty]
[--allow-empty-message] [--no-verify] [-e] [--author=<author>]
[--date=<date>] [--cleanup=<mode>] [--[no-]status]
[-i | -o] [-S[<keyid>]] [--] [<file>…]
描述
将索引的当前内容与来⾃描述更改的⽤户的⽇志消息⼀起存储在新提交中。
要添加的内容可以⽤⼏种⽅式指定:
通过使⽤git add在使⽤提交命令之前递增“添加”对索引的更改(注意:即使修改后的⽂件也必须“添加”);
通过使⽤git rm从⼯作树和索引中删除⽂件,再次使⽤commit命令之前;
通过将⽂件列出为提交命令的参数(没有 - 交互式或--patch开关),在这种情况下,提交将忽略在索引中进⾏的更改,⽽是记录列出的⽂件的当前内容(必须已知到Git);
通过使⽤带有commit命令的-a开关,可以⾃动从所有已知⽂件(即索引中已经列出的所有⽂件)中“添加”更改,并⾃动从索引中删除已从⼯作树中删除的“rm”⽂件,然后执⾏实际的提交;
通过使⽤--interactive或--patch开关和commit命令,在完成操作之前,除索引中的内容之外,逐个决定哪些⽂件或块应该是提交的⼀部分。请参阅git-add(1)的“交互模式”部分, 了解如何操作这些模式。
-
-dry-run通过给出相同的⼀组参数(选项和路径),可以使⽤该选项来获得上述任何内容对下⼀次提交所包含内容的摘要。
如果你做了⼀个提交,然后⽴即发现⼀个错误,你可以使⽤git reset从它恢复。
OPTIONS
-⼀个
- 所有
告诉命令⾃动对已被修改和删除的⽂件进⾏分段,但是没有告诉Git的新⽂件不受影响。
-p
- 补丁
使⽤交互式补丁选择界⾯来选择要提交的更改。有关详细信息,请参阅git-add(1)。
-C <commit>
--reuse消息= <;提交>
取⼀个现有的提交对象,并在创建提交时重⽤⽇志消息和作者信息(包括时间戳)。
-c <commit>
--reedit消息= <;提交>
像-C⼀样,但-c编辑器被调⽤,以便⽤户可以进⼀步编辑提交消息。
--fixup = <;提交>
构造⼀个提交消息以供使⽤rebase --autosquash。提交消息将成为指定提交的主题⾏,前缀为“fixup!”。有关详细信息,请参阅git-rebase(1)。
--squash = <;提交>
构造⼀个提交消息以供使⽤rebase --autosquash。提交消息主题⾏取⾃指定的提交,前缀为“squash!”。可以与其他提交消息选项(-m/ -c/ -C/ -F)⼀起使⽤。有关详细信息,请参阅 git-rebase(1)。
--reset执笔者
当与-C / -c / - 修改选项⼀起使⽤时,或者在冲突樱桃挑选后提交时,声明结果提交的作者现在属于提交者。这也更新了作者的时间戳。
- 短
⼲运⾏时,以短格式输出。有关详细信息,请参阅 git-status(1)。意味着--dry-run。
- 科
以短格式显⽰分⽀和跟踪信息。
- 瓷
进⾏⼲式运⾏时,请将输出信号转换成陶瓷格式。有关详细信息,请参阅git-status(1)。意味着 --dry-run。
- 长
当进⾏⼲运⾏时,以长格式输出。意味着--dry-run。
-z
- 空值
显⽰short或porcelain状态输出时,逐字打印⽂件名并⽤NUL⽽不是LF来终⽌输⼊。如果没有给出格式,则暗⽰--porcelain输出格式。如果没有这个-z选项,带有“不寻常”字符的⽂件名将按照配置变量的说明引⽤core.quotePath (参见git-config(1))。
-F <⽂件>
--file = <⽂件>
从给定的⽂件中提交提交消息。使⽤-从标准输⼊读取消息。
--author = <;作者>
覆盖提交作者。使⽤标准A U Thor <author@example>格式指定明确的作者。否则<author>被认为是⼀个模式,⽤于搜索该作者现有的提交(即rev-list --all -i --author = <author>); 然后提交作者从第⼀个这样的提交中到。
--date = <⽇期>
覆盖提交中使⽤的作者⽇期。
-m <msg>
--message = <MSG>
使⽤给定的<msg>作为提交消息。如果-m给出了多个选项,则它们的值被连接为单独的段落。
--template = <⽂件>
编辑提交信息时,⽤给定⽂件中的内容启动编辑器。所述plate配置变量经常被⽤于隐含地给这个选项添加到命令。这个机制可以被那些想要引导参与者提供什么信息的提⽰的项⽬使⽤。如果⽤户退出编辑器⽽不编辑消息,则提交被中⽌。当通过其他⽅式(例如使
⽤-m或-F选项)给出消息时,这不起作⽤。
-s
- 登出
在提交⽇志消息的末尾添加Sign-off-by⾏。签名的含义取决于项⽬,但它通常证明提交者有权根据相同的许可证提交这项⼯作,并同意开发者原始证书(参见/获取更多信息)。
-n
--no-验证
这个选项绕过了pre-commit和commit-msg钩⼦。另见githooks(5)。
--allow空
通常记录与其唯⼀⽗提交完全相同的提交是⼀个错误,并且该命令阻⽌您提交这样的提交。该选项绕过了安全性,主要供外国SCM接⼝脚本使⽤。
--allow空消息
像--allow-empty这个命令主要供外国的SCM接⼝脚本使⽤。它允许你⽤⼀个空的提交消息创建⼀个提交,⽽不使⽤像git-commit-
tree(1)这样的管道命令 。
--cleanup = <;模式>
这个选项决定了在提交之前应该如何清理提供的提交信息。所述<;模式>可以是strip, whitespace,
verbatim,scissors或default。
跳闸
删除前后空⾏,尾随空格,评论和折叠连续的空⾏。
空⽩
同strip除#commentary不会被删除。
逐字
根本不要改变信息。
提交更改是什么剪⼑
相同whitespace,除了⼀切从(并包括)下⾯到的⾏被截短,如果消息是要被编辑。“ #”可以⽤corementChar定制。
#------------------------> 8 ----------------------- -
默认
就strip好像要编辑的消息⼀样。否则whitespace。
默认值可以通过commit.cleanup配置变量来改变(参见git-config(1))。
-e
从⽂件中提取的消息-F,命令⾏ -m和从提交对象与-C通常⽤作提交⽇志消息未修改。通过此选项,您可以进⼀步编辑从这些源获取的消息。
--no编辑
在不启动编辑器的情况下使⽤选定的提交消息。例如,git commit --amend --no-edit修改提交⽽不更改其提交消息。
- 修改
通过创建⼀个新的提交来替换当前分⽀的提⽰。记录的树像往常⼀样准备(包括-i和-ooptions和explicit pathspec的效果),并且当从命令⾏中没有指定其他消息时,将使⽤原始提交的消息作为起点,⽽不是空的消息通过选项,如-m,-F,-c,等新犯有相同的⽗母和作者作为当前⼀个(该--reset-author 选项可以反对命令这⼀点)。
这⼤致相当于:
$ git reset --soft HEAD ^
$ ...做别的事情来出正确的树...
$ git commit -c ORIG_HEAD
但可以⽤来修改合并提交。
如果您修改已发布的提交,则应了解重写历史的含义。(请参阅git-rebase(1)中的“从上游重新启动” )。
--no-后重写
绕过后重写挂钩。
-⼀世
- 包括
在执⾏到⽬前为⽌的阶段性内容之前,还要在命令⾏上给出路径的内容。这通常不是你想要的,除⾮你正在完成⼀个冲突的合并。
-o
- 只要
通过在命令⾏中指定的路径获取更新的⼯作树内容进⾏提交,忽略已经为其他路径启动的任何内容。如果在命令⾏中给出了任何路径,这是git commit的默认操作模式 ,在这种情况下,这个选项可以省略。如果这个选项是⼀起指定的--amend,那么不需要指定任何路径,它可以⽤来修改上⼀次提交⽽不提交已经执⾏的更改。如果与--allow-empty 路径⼀起使⽤也不是必需的,将会创建⼀个空的提交。
-u [<;模式>]
--untracked-⽂件[= <;模式>]
显⽰未跟踪的⽂件。
模式参数是可选的(默认为全部),⽤于指定未跟踪⽂件的处理; 当-u不使⽤时,默认是正常的,即显⽰未跟踪的⽂件和⽬录。
可能的选项是:
否 - 不显⽰未跟踪的⽂件
all - 还显⽰未跟踪⽬录中的单个⽂件。
可以使⽤git-config(1)中记录的status.showUntrackedFiles配置变量来更改默认值。
-v
--verbose
在HEAD提交和提交消息模板底部提交的内容之间显⽰统⼀的差异,以帮助⽤户通过提醒提交具有哪些更改来描述提交。请注意,此差异输出没有以#开头的⾏。这个差异不会是提交信息的⼀部分。请参阅git-config(1)中的commit.verbose配置变量。
如果指定了两次,则另外显⽰将要提交的内容和⼯作⽂件之间的统⼀差异,即对被跟踪⽂件进⾏⾮分离更改。
-q
-
安静
禁⽌提交摘要消息。
--dry运⾏
不要创建提交,⽽是显⽰要提交的路径的列表,包含将保留未提交的本地更改的路径以及未跟踪的路径。
- 状态
在使⽤编辑器准备提交消息时,在提交消息模板中包含git-status(1)的输出。默认打开,但可以⽤来覆盖配置变量commit.status。
- ⽆状态
使⽤编辑器准备默认提交消息时,不要在提交消息模板中包含git-status(1)的输出。
-S [<KEYID>]
--gpg-SIGN [= <KEYID>]
GPG标志提交。该keyid参数是可选的,并且默认为提交者⾝份; 如果指定,它必须坚持选项没有空格。
--no-GPG-SIGN
commit.gpgSign设置为强制每个提交进⾏签名的计数器配置变量。
-
不要把更多的理由作为选择来解释。
<⽂件> ...
当在命令⾏上给出⽂件时,该命令将提交指定⽂件的内容,⽽不记录已经执⾏的更改。这些⽂件的内容也将在下⼀次提交之前进⾏。
⽇期格式
的GIT_AUTHOR_DATE,GIT_COMMITTER_DATE环境变量和--date选项⽀持以下⽇期格式:
Git内部格式
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论