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

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

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


当前回答

最简单的解决方法是:

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

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

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

其他回答

加入~/。Bash_profile用于添加、提交和推送:

function g() { git commit -a -m "$*"; git push; }

用法:

g your commit message
g your commit message 'message'

不需要引号,尽管不能在提交消息中使用分号或括号(允许使用单引号)。如果你想使用以上任何一种方法,只需在你的邮件中加上双引号,例如:

g "your commit message; (message)"

要在你的消息中创建评论,请:

g "your commit message:
> your note"

还有一个函数用于以类似的方式添加和提交:

function c() { git add --all; git commit -m "$*"; }

和g函数的工作原理完全一样并且有相同的约束条件。用c代替。 如。

c your commit message

你也可以添加一个别名来推送到远程:

alias p='git push'

用法:

p

这相当于2个字母,c和p,您在使用git存储库时使用。或者你可以用g来代替只用一个字母。

别名和函数的完整列表: https://gist.github.com/matt360/0c5765d6f0579a5aa74641bc47ae50ac

你好,你只需要添加unalias [nano或vi] ~/.bashrc

echo Enter You commit message && read msg && git add . && git commit -m "$msg" && git push origin main 

由于问题没有指定哪个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

macOS用户:

打开您的终端或iTerm2或您使用的其他终端。 使用~/命令移动到用户配置文件文件夹。它是.bash_profile文件的默认文件夹:

输入nano. bash_profile这个命令将在最容易使用的终端nano文本编辑器中打开.bash_profile文档(如果它还不存在,也可以创建它)。 现在您可以对文件进行简单的更改。粘贴以下代码行来更改终端提示符:

function lazygit() {
    git add .
    git commit -a -m "$1"
    git push
}

现在通过输入ctrl + o保存您的更改,并点击返回保存。然后输入ctrl + x退出nano。 现在我们需要激活您的更改。输入source .bash_profile(或。~/.bash_profile)并注意提示符的变化。 在iTerm2的Preferences/Profiles/General/Command中设置为Login Shell并在start时发送文本到source ~/.bash_profile。因此,您不需要在每次macOS重新启动后手动进行设置。

凭证:https://natelandau.com/my-mac-osx-bash_profile

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