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

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

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


当前回答

在.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'

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

其他回答

我为命令执行了这个.sh脚本

#!/bin/sh
cd LOCALDIRECTORYNAME/  
git config --global user.email "YOURMAILADDRESS"
git config --global user.name "YOURUSERNAME"
git init
git status
git add -A && git commit -m "MASSAGEFORCOMMITS"
git push origin master

已经有很多好的解决方案了,但下面这个解决方案更适合我想要的工作方式:

我在路径中放置了一个名为“git-put”的脚本,其中包含:

#!/bin/bash
git commit "$@" && git push -u

这允许我运行:

Git put -am“我的提交信息”

..要添加所有文件,提交并推送它们。

(我还添加了“-u”,因为我喜欢这样做,即使它与这个问题无关。确保上游分支始终处于可拉状态。)

我喜欢这种方法,因为它还允许在不添加所有文件的情况下使用“git put”(跳过“-a”),或者使用我可能想要传递给提交的任何其他选项。另外,put是push和commit的合成词

如果你使用VSCode,你可以下载这个扩展,它会让你在一个简单的键盘快捷方式。

我喜欢运行以下程序:

git commit -am "message";git push

我在.bash_profile中使用它

gitpush() {
    git add .
    git commit -m "$*"
    git push
}
alias gp=gitpush

它像这样执行

gp A really long commit message

不要忘记运行source ~/。保存别名后的Bash_profile。