如何使用单个命令暂存和提交所有文件,包括新添加的文件?
#1楼
在git中提交可以是一个多步骤过程,也可以是一个步骤,具体取决于具体情况。
这种情况是您有多个文件更新并想要提交:
您必须在提交任何内容之前添加所有已修改的文件。
git add -A要么
git add --all之后,您可以使用提交所有添加的文件
git commit有了这个,你必须为这个提交添加消息。
#2楼
如果您只想要一种“快速而又脏”的方法来隐藏当前分支上的更改,则可以使用以下别名:
git config --global alias.temp '!git add -A && git commit -m "Temp"'
运行该命令后,您只需键入git temp即可让git自动将对当前分支的所有更改提交为名为“Temp”的提交。 然后,您可以使用git reset HEAD~稍后“ git commit --amend提交”更改,以便您可以继续处理它们,或者git commit --amend为git commit --amend添加更多更改和/或为其指定正确的名称。
#3楼
是否
git add -A && git commit -m "Your Message"
算作“单一命令”?
根据@thefinnomenon的答案编辑如下 :
要将它作为git alias ,请使用:
git config --global alias.coa '!git add -A && git commit -m'
并使用以下消息提交所有文件(包括新文件):
git coa "A bunch of horrible changes"
解释 (来自git add文档 ):
-A, - all, - no-ignore-removal
不仅更新工作树具有文件匹配的索引,还更新索引已有条目的位置。 这将添加,修改和删除索引条目以匹配工作树。
如果在使用-A选项时未给出
<pathspec>,则更新整个工作树中的所有文件(旧版本的Git用于限制对当前目录及其子目录的更新)。
#4楼
您可以编写一个名为git-commitall的小脚本(请参阅Ian Clelland的回答),该脚本使用几个git命令来执行您想要执行的操作。
将此脚本放在$PATH中的任何位置。 你可以通过git commitall来调用它......非常方便!
在这里找到(问题和所有答案不幸删除,只有高声誉可见)
#5楼
我用这个函数:
gcaa() { git add --all && git commit -m "$*" }
在我的zsh配置文件中,所以我可以这样做:
> gcaa This is the commit message
自动暂存和提交所有文件。
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3166143