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

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

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


当前回答

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

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

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

这允许我运行:

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

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

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

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

其他回答

由于问题没有指定哪个shell,下面是基于前面答案的shell版本。这将放入shell别名文件,该文件可能在~/.emacs中。d/eshell/alias我已经添加了第一部分z https://github.com/rupa/z/,它可以让你快速cd到一个目录,这样无论你的当前目录是什么都可以运行。

alias census z cens; git add .; git commit -m "fast"; git push

编写一个名为gitpush.sh的小脚本,并将其添加到~目录中。

echo $1
git add .
git commit -m "$1"
git push

现在在~/中添加一个别名。Bashrc如下:

alias gitpush='~/gitpush'

现在从任何git存储库只写gitpush "message"。

我喜欢运行以下程序:

git commit -am "message";git push

虽然我同意韦恩·沃纳的怀疑,但从技术上讲,这是一种选择:

git config alias.acp '! git commit -a -m "commit" && git push'

它定义了一个别名,用于运行提交和推送。使用它作为git acp。请注意,这样的“shell”别名总是从git存储库的根目录运行。

另一种选择可能是编写一个执行推送的post-commit钩子。

哦,顺便说一下,您确实可以将参数传递给shell别名。如果你想传递一个自定义提交消息,可以使用:

git config alias.acp '! acp() { git commit -a -m "$1" && git push ; } ; acp'

(当然,现在,你需要给出一个提交消息:git acp“我的消息在这里!”)

如果你用的是Mac电脑:

打开终端,输入cd ~/进入主文件夹 输入touch .bash_profile创建新文件。 使用您最喜欢的编辑器编辑.bash_profile(或者您可以直接键入 open -e .bash_profile在TextEdit中打开它)。 复制并粘贴下面的文件:

函数lazygit() { Git添加。 Git commit -m "$1" git推 }

在这之后,重启你的终端,简单地添加,提交和推送一个简单的命令,例如:

lazygit "This is my commit message"