有什么方法可以同时使用这三个命令吗?
git add .
git commit -a -m "commit" (do not need commit message either)
git push
有时我只改变一个字母,CSS填充之类的。不过,我必须编写所有三个命令来推动更改。有许多项目,我只是一个推动者,所以这个命令将是了不起的!
有什么方法可以同时使用这三个命令吗?
git add .
git commit -a -m "commit" (do not need commit message either)
git push
有时我只改变一个字母,CSS填充之类的。不过,我必须编写所有三个命令来推动更改。有许多项目,我只是一个推动者,所以这个命令将是了不起的!
当前回答
你好,你只需要添加unalias [nano或vi] ~/.bashrc
echo Enter You commit message && read msg && git add . && git commit -m "$msg" && git push origin main
其他回答
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 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“我的消息在这里!”)
在bash中设置为别名:
$ alias lazygit="git add .; git commit -a -m '...'; git push;";
叫它:
$ lazygit
(要使这个别名永久存在,你必须将它包含在你的.bashrc或.bash_profile中)
已经有很多好的解决方案了,但下面这个解决方案更适合我想要的工作方式:
我在路径中放置了一个名为“git-put”的脚本,其中包含:
#!/bin/bash
git commit "$@" && git push -u
这允许我运行:
Git put -am“我的提交信息”
..要添加所有文件,提交并推送它们。
(我还添加了“-u”,因为我喜欢这样做,即使它与这个问题无关。确保上游分支始终处于可拉状态。)
我喜欢这种方法,因为它还允许在不添加所有文件的情况下使用“git put”(跳过“-a”),或者使用我可能想要传递给提交的任何其他选项。另外,put是push和commit的合成词
我认为你可能误解了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来使用。您可能会在本文末尾找到一些有用的参考资料。