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


当前回答

最简单的方法是使用下面的命令来添加并提交更改:

git commit -a -m "your commit message"

警告:这将不会提交未跟踪的文件

其他回答

我使用这个函数:

gcaa() { git add --all && git commit -m "$*" }

在我的zsh配置文件,所以我可以做:

> gcaa This is the commit message

自动执行并提交所有文件。

我认为这是展示和提交所有更改的最优雅的方式:

git commit -am  "message"

运行给定的命令

git add . && git commit -m "Changes Committed"

然而,即使它看起来是一个单独的命令,它是两个单独的命令一个接一个地运行。这里我们只用&&来组合它们。这和跑步没什么不同 Git添加。和git分别commit -m "Changes Committed"。您可以同时运行多个命令,但顺序很重要。如果你想把这些变化推送到远程服务器,同时进行分段和提交,你可以这样做,

git add . && git commit -m "Changes Committed" && git push origin master

相反,如果你改变顺序,把推送放在第一位,它将首先执行,并且在登台和提交之后不会给出所需的推送,因为它已经先运行了。

当第一个命令成功返回时,&&在该行上运行第二个命令,或者错误级别为0。与&&相反的是||,它在第一个命令不成功或错误级别为1时运行第二个命令。

或者,你可以创建alize作为git的配置-全局别名。addcommit”!git add -a && git commit -m'并使用它作为git addcommit -m“添加并提交新文件”

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

1. 创建别名:

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

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

git coa "A bunch of horrible changes"

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

该命令将添加并提交所有修改过的文件,但不包括新创建的文件:

git commit -am  "<commit message>"

源自man git-commit:

-a, --all
    Tell the command to automatically stage files that have been modified
    and deleted, but new files you have not told Git about are not
    affected.