有什么方法可以同时使用这三个命令吗?

git add .
git commit -a -m "commit" (do not need commit message either)
git push

有时我只改变一个字母,CSS填充之类的。不过,我必须编写所有三个命令来推动更改。有许多项目,我只是一个推动者,所以这个命令将是了不起的!


当前回答

你可以试试gitu。

第一次(必须安装node js):

npm install -g git-upload

后:

gitu COMMIT_MSG

同时发出这三个命令。

好处是,当您重新安装系统或当您想在不同的计算机上执行此操作时,您不必担心,并且不需要修改文件。 这也适用于不同的平台(不只是Linux和Mac,也可以在命令提示符下的Windows,如cmd和powershell),只是你必须安装npm和nodejs(当然是git)。

其他回答

我认为你可能误解了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来使用。您可能会在本文末尾找到一些有用的参考资料。

在.bashrc中定义函数

function gitall() {
    file=${1:-.}
    comment=${2:-update}
    echo $file
    echo $comment
    git add $file && git commit -m '$comment' && git push origin master
}

在你的终端

gitall

默认gitall将添加当前git repo中的所有内容

gitall some-file-to-add 'update file'

是否会添加某些文件更改,并使用自定义提交消息

最简单的解决方法是:

git commit -a -m "commit" && git push

Git add已经包含在commit的-a参数中,但如果你想要,你可以把它们都连接起来:

git add . && git commit -a -m "commit" && git push

正如回答中提到的,您可以创建一个git别名并为其分配一组命令。在这种情况下,它将是:

git config --global alias.add-com-push '!git add . && git commit -a -m "commit" && git push'

用在

git add-com-push

这非常适合命令分组。

分组命令

{列表;} 将命令列表放在花括号之间会导致该列表在当前shell上下文中执行。没有创建子shell。列表后面必须有分号(或换行符)。

legit(){ git add --all; git commit -m "$1"; git push origin master; }
legit 'your commit message here'