Ian*_*and 537
是否
git add -A && git commit -m "Your Message"
Run Code Online (Sandbox Code Playgroud)
算作"单一命令"?
解释(来自git alias
文档):
-A, - all, - no-ignore-removal
不仅更新工作树具有文件匹配的索引,还更新索引已有条目的位置.这将添加,修改和删除索引条目以匹配工作树.
如果
git add
在使用-A选项时未给出,则更新整个工作树中的所有文件(旧版本的Git用于限制对当前目录及其子目录的更新).
Jai*_*thi 407
此命令将添加并提交所有已修改的文件,但不会添加和提交新创建的文件.
git commit -am "<commit message>"
Run Code Online (Sandbox Code Playgroud)
来自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.
Run Code Online (Sandbox Code Playgroud)
phl*_*ppn 25
我用这个函数:
gcaa() { git add --all && git commit -m "$*" }
Run Code Online (Sandbox Code Playgroud)
在我的zsh配置文件中,所以我可以这样做:
> gcaa This is the commit message
Run Code Online (Sandbox Code Playgroud)
自动暂存和提交所有文件.
Yar*_*rin 23
单行播放所有文件(修改,删除和新)并提交评论:
git add --all && git commit -m "comment"
Run Code Online (Sandbox Code Playgroud)
http://git-scm.com/docs/git-add
http://git-scm.com/docs/git-commit
小智 19
不知道为什么这些答案都围绕我认为是正确的解决方案而跳舞,但是我在这里使用的是什么:
git config --global alias.coa '!git add -A && git commit -m'
Run Code Online (Sandbox Code Playgroud)
git coa "A bunch of horrible changes"
Run Code Online (Sandbox Code Playgroud)
注意:coa
是提交所有内容的缩写,可以替换为您心中所需的任何内容
小智 8
在git中提交可以是一个多步骤过程,也可以是一个步骤,具体取决于具体情况.
这种情况是您有多个文件更新并想要提交:
您必须在提交任何内容之前添加所有已修改的文件.
git add -A
Run Code Online (Sandbox Code Playgroud)
要么
git add --all
Run Code Online (Sandbox Code Playgroud)之后,您可以使用提交所有添加的文件
git commit
Run Code Online (Sandbox Code Playgroud)
有了这个,你必须为这个提交添加消息.
如果只希望“快速而肮脏”的方式将更改存储在当前分支上,则可以使用以下别名:
git config --global alias.temp '!git add -A && git commit -m "Temp"'
Run Code Online (Sandbox Code Playgroud)
运行该命令后,您可以键入git temp
git自动将所有更改作为名为“ Temp”的提交自动提交到当前分支。然后,您可以git reset HEAD~
稍后使用“取消提交”更改,以便您可以继续进行更改,或者git commit --amend
为提交添加更多更改和/或为其指定适当的名称。
运行给定的命令
git add . && git commit -m "Changes Committed"
Run Code Online (Sandbox Code Playgroud)
然而,即使看起来是一个单一的命令,它也是两个独立的命令一个接一个地运行。这里我们只是用来&&
组合它们。这git add .
与git commit -m "Changes Committed"
单独运行和单独运行没有太大区别
。您可以同时运行多个命令,但这里的顺序很重要。如果您想将更改连同暂存和提交一起推送到远程服务器,您可以按照给定的方式进行,
git add . && git commit -m "Changes Committed" && git push origin master
Run Code Online (Sandbox Code Playgroud)
相反,如果您更改序列并将push
to 放在第一位,它将首先执行并且在暂存和提交后不会提供所需的推送,因为它已经首先运行。
&&
当第一命令回来成功,或具有0的相对误差级上运行就行了第二命令&&
就是||
,其中,当所述第一命令不成功,或为1的误差水平上运行第二个命令。
或者,您可以创建alise asgit config --global alias.addcommit '!git add -a && git commit -m'
并将其用作git addcommit -m "Added and commited new files"