在Git中是否有一种方法可以一条命令同时暂存和提交文件?例如,我在本地仓库中创建了index.html、位于css文件夹中的styles.css以及位于js文件夹中的script.js文件。现在我想运行一个命令来暂存和提交所有这些文件。我尝试了下面的代码,但它没有起作用。
git commit -a -m "my commit message"
在Git中是否有一种方法可以一条命令同时暂存和提交文件?例如,我在本地仓库中创建了index.html、位于css文件夹中的styles.css以及位于js文件夹中的script.js文件。现在我想运行一个命令来暂存和提交所有这些文件。我尝试了下面的代码,但它没有起作用。
git commit -a -m "my commit message"
你想要做的是:
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'
git add -A ; git commit -am "message"
- Charles Ropergit commit -a ...
会自动添加并提交已经在之前提交过且现在被修改或删除的文件。但是它不会影响新文件。
你可以使用别名将git add ...
和git commit ...
组合成一个命令行。但如果这样做,要花时间编写脚本,以避免使用git add .
或git add -A
,因为这会不可避免地导致提交你真正不想提交的文件。
您可以通过使用别名来实现。
像这样定义一个别名:
git config --global alias.your-alias '!git add -A && git commit'
然后您可以像普通的git命令一样使用它:git your-alias -m 'commit message'
[alias] ac = !git add -A && git commit
,它对我的工作流程非常有帮助 :) - Fumler
git status
,可能跟着是git diff <file>
,最终是git add
和git commit
,那么很容易确保提交是合理的。如果您只提交目录中的所有内容,最终将提交可执行文件、生成的 PDF、对象文件、您不想发布的脚本、私钥/密码(是的,这确实发生过!)、带有私人笔记的文件等等。更好的方法是安全第一,谨慎行事。 - cmaster - reinstate monica