如何使用一个命令来提交所有文件,包括新添加的文件?


当前回答

尝试使用:

git add . && git commit -m "your message here"

其他回答

我在我的配置中有两个别名:

alias.foo=commit -a -m 'none'
alias.coa=commit -a -m

如果我太懒,我就提交所有的更改

git foo

简单地说一下

git coa "my changes are..."

Coa代表“全部承诺”

如果你只是想要一种“快速而肮脏”的方法来保存当前分支上的更改,你可以使用以下别名:

git config --global alias.temp '!git add -A && git commit -m "Temp"'  

运行该命令后,你可以输入git temp,让git自动将你的所有更改提交到当前分支,并将其命名为“temp”。然后,你可以使用git reset HEAD~稍后“取消提交”更改,这样你就可以继续处理它们,或者git commit——amend添加更多的更改到提交和/或给它一个合适的名称。

你可以写一个叫做git-commitall的小脚本(请看Ian Clelland的回答),它使用几个git命令来执行你想做的事情。 把这个脚本放在$PATH的任意位置。你可以通过git commitall来调用它…非常方便!

在这里找到(不幸的是,问题和所有答案都被删除了,只有高声誉的人才能看到)

Does

git add -A && git commit -m "Your Message"

算作“单一命令”?

根据下面@thefinnomenon的回答进行编辑

要将它作为git别名,请使用:

git config --global alias.coa "!git add -A && git commit -m"

并提交所有文件,包括新文件,用一个消息:

git coa "A bunch of horrible changes"

解释

从git添加文档:

-A, -所有,-no-ignore-removal 不仅在工作树中有文件匹配的地方更新索引,而且在索引已经有文件匹配的地方更新索引 条目。属性的添加、修改和删除索引项 工作树。 如果使用-A选项时没有给出<pathspec>,则 更新整个工作树(旧版本的Git用于限制 更新到当前目录及其子目录)。

我不知道为什么这些答案都围绕着我所认为的正确解决方案,但为了它的价值,我在这里使用:

1. 创建别名:

git config --global alias.coa '!git add -A && git commit -m'

2. 添加所有文件并提交一个消息:

git coa "A bunch of horrible changes"

注意:coa是commit all的缩写,可以替换为任何你想要的东西