34

Git 有没有办法在一个命令中暂存和提交文件?例如,在我的本地存储库中,我创建了位于 css 文件夹中的文件 index.html、styles.css 和位于 js 文件夹中的 script.js。现在我想运行一个命令来暂存并提交所有这些文件。我尝试了下面的代码,但没有成功

git commit -a -m "my commit message"
4

3 回答 3

34

你想做的是:

git commit -am "Message for my commit"

这将自动添加所有跟踪的文件,您可以在一个命令中输入您的消息。

-a --all
告诉命令自动暂存已修改和删除的文件,但未告诉 Git 的新文件不受影响。

-m <msg> --message=<msg>
使用给定的作为提交消息。如果给出了多个 -m 选项,它们的值将连接为单独的段落。

https://git-scm.com/docs/git-commit

如果要暂存和提交未跟踪的文件,您可以:

git add -A && git commit -am 'message'
于 2017-08-01T14:41:18.643 回答
22

git commit -a ...将自动添加和提交之前已经提交的文件,现在被修改或删除。正如您发现的那样,它不会影响新文件。

您可以使用别名将git add ...and组合git commit ...成一个命令行。但是,如果您这样做,请花时间编写不需要使用的脚本,否则git add .git add -A不可避免地导致提交您真的不想要的文件。

于 2013-02-11T16:45:40.260 回答
10

您可以通过使用别名来做到这一点。

像这样定义一个别名:

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

然后你可以像普通的 git 命令一样使用它:git your-alias -m 'commit message'

于 2013-02-11T16:42:43.173 回答