是否有办法将这三个命令合二为一?
git add .
git commit -a -m "commit" (do not need commit message either)
git push
有时我只改变一个字母、CSS填充或其他东西。但是,我还是要写这三个命令来推送修改内容。在很多项目中,我只是一个推送者,所以这个命令将是非常棒的!
虽然我同意韦恩-维尔纳的疑虑,但从技术上讲,这也是一种选择。
git config alias.acp '! git commit -a -m "commit" && git push'
其中定义了一个别名,运行commit
和push
。将其作为`git acp'使用。请注意,这种"shell"别名总是从你的git仓库的根部运行。
另一个选择是写一个提交后钩子来进行推送。
哦,顺便说一下,你确实可以向shell别名传递参数。如果你想传递一个自定义的提交信息,可以使用。
git config alias.acp '! acp() { git commit -a -m "$1" && git push ; } ; acp'
(当然,现在,你需要给出一个提交信息。git acp "我的信息在这里!"
)
我想你可能误解了git设计的工作流程。(为了澄清/纠正我在评论中的意思,你不需要git add .
,因为commit -a
通常起到相同的作用--如果文件已经被添加,则添加任何尚未被分阶段的修改)
一般来说,你会这样做。
# make some changes
$ git commit -a -m "Changed something"
# make some more changes
$ git commit -a -m "Changed something else"
洗涤、冲洗、重复,直到你完成了特征X,或者你处于一个停止点,或者你只是想让其他人看到你所做的事情。然后你做
$ git push
Git不是SVN--但你似乎想把它当作SVN来使用。你可能会发现文章末尾的一些资源这里会有一些用处。