如何使用一个命令来提交所有文件,包括新添加的文件?
做
git add -A && git commit -m "Your Message"
算作“单一命令”?
要将它作为git alias,使用:
git alias
git config --global alias.coa "!git add -A && git commit -m"
并提交所有文件,包括新文件,用一个消息:
git coa "A bunch of horrible changes"
从git add文档:
git add
-A, -所有,-no-ignore-removal 不仅在工作树中有匹配文件的地方更新索引,而且在索引中已经有匹配文件的地方更新索引 条目。属性添加、修改和删除索引项以匹配 工作树。< /强> < / p > 如果在使用-A选项时没有给出<pathspec>,则在 更新整个工作树(旧版本的Git用于限制 更新到当前目录及其子目录)
-A, -所有,-no-ignore-removal
不仅在工作树中有匹配文件的地方更新索引,而且在索引中已经有匹配文件的地方更新索引 条目。属性添加、修改和删除索引项以匹配 工作树。< /强> < / p >
如果在使用-A选项时没有给出<pathspec>,则在 更新整个工作树(旧版本的Git用于限制 更新到当前目录及其子目录)
<pathspec>
git-commitall
$PATH
git commitall
发现在这里(问题和所有答案不幸被删除,只有高声誉可见)
这个命令将添加并提交所有修改过的文件,但不是新创建的文件:
git commit -am "<commit message>"
从man git-commit:
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.
我在我的配置中有两个别名:
alias.foo=commit -a -m 'none' alias.coa=commit -a -m
如果我太懒,我就提交所有的更改
git foo
简单地说一下
git coa "my changes are..."
Coa代表“全部承诺”
在git中提交可以是一个多步骤过程,也可以是一个步骤,这取决于具体情况。
这种情况是指您更新了多个文件并希望更新 提交:< / p >
在提交任何东西之前,您必须添加所有修改过的文件。
git add -A
或
git add --all
After that you can use commit all the added files
git commit
有了这个,你必须为这次提交添加消息
如果你只是想要一种“快速而肮脏”的方法来保存当前分支上的更改,你可以使用以下别名:
git config --global alias.temp '!git add -A && git commit -m "Temp"'
运行该命令后,你可以输入git temp,让git自动将你所有的更改提交到当前分支,作为一个名为“Temp”的提交。然后,你可以稍后使用git reset HEAD~“取消提交”更改,以便继续处理它们,或者使用git commit --amend向提交添加更多更改和/或给它一个适当的名称。
git temp
git reset HEAD~
git commit --amend
我使用这个函数:
gcaa() { git add --all && git commit -m "$*" }
在我的zsh配置文件,所以我可以做:
> gcaa This is the commit message
自动执行并提交所有文件。
运行所有文件(修改, 删除,和新)并提交注释的一行代码:
git add --all && git commit -m "comment"
很棒的答案,但如果你寻找一行做所有,你可以连接,别名和享受的便利:
git add * && git commit -am "<commit message>"
它是一个单行,但有两个命令,如前所述,你可以别名这些命令:
alias git-aac="git add * && git commit -am "(末尾的空格很重要),因为您将参数化新的短手命令。
alias git-aac="git add * && git commit -am "
从现在起,你要用这个别名
git-acc "<commit message>"
你基本上会说:
Git,为我添加所有未跟踪的文件,并使用这个给定的提交消息提交它们。
希望你使用Linux,希望这对你有帮助。
我不知道为什么这些答案都围绕着我所认为的正确解决方案,但为了它的价值,我在这里使用:
git config --global alias.coa '!git add -A && git commit -m'
请注意: coa是commit all的缩写,可以替换为任何你想要的东西
coa
尝试使用:
git add . && git commit -m "your message here"
运行给定的命令
git add . && git commit -m "Changes Committed"
&&
git add .
git commit -m "Changes Committed"
git add . && git commit -m "Changes Committed" && git push origin master
相反,如果你改变序列并将push放在第一位,它将首先执行,并且在登台和提交后不会给出所需的推送,因为它已经先运行了。
push
&&在第一个命令成功返回或错误级别为0时,在该行上运行第二个命令。与&&相反的是||,它在第一个命令不成功或错误级别为1时运行第二个命令。
||
或者,你可以将alise创建为git config --global alias.addcommit '!git add -a && git commit -m',并将其用作git addcommit -m "Added and commited new files"
git config --global alias.addcommit '!git add -a && git commit -m'
git addcommit -m "Added and commited new files"
我认为这是展示和提交所有更改的最优雅的方式:
git commit -am "message"
这是一个shell脚本,它做了一些类似的事情。目前它不提交新添加的文件(添加这个功能应该很容易),但它提交了其他所有内容。此外,它还递归地访问Git子模块。预期的使用场景非常简单
$ git powercommit
最简单的方法是使用以下命令将add和commit用一个命令进行更改:
add
commit
git commit -a -m "your commit message"