【问题标题】:Git alias with multiple command具有多个命令的 Git 别名
【发布时间】:2020-04-21 21:37:12
【问题描述】:

审核后,我需要更改一些代码并将所有更改代码重新推送到远程分支。

所以我想在 git 上使用别名(例如:git repushall)自动化这些不同的命令:

git add . git commit --amend(和 ctrl + x) git push --force-with-lease

我知道它在.gitconfig 文件中

你有什么想法吗?

【问题讨论】:

    标签: git git-commit git-push git-amend git-alias


    【解决方案1】:

    --no-edit 标志添加到提交命令以跳过编辑器打开。

    要链接命令,您可以简单地将它们用; 分隔,但正如Philippe 在评论中提到的那样,用&& 链接它们通常更有效,然后每个命令只有在前一个返回0 时才会运行(没有错误)代码。

    git config --global alias.repushall '!git add . && git commit --amend --no-edit && git push --force-with-lease'
    

    【讨论】:

    • 是否有理由不使用&& 传递命令,因为大多数情况下 git 返回码是 0?
    • @Philippe 不,你是对的,两种方法都可以,但是如果一个命令失败,将命令与&& 链接以停止下一个命令确实更安全。编辑提及它。
    • @Philippe 这不是“管道”,而是“和”。管道符号是|
    • @phd 我不敢自己纠正,因为 Philippe 已经在技术内容上纠正 me,而且上下文已经足够清楚了,但是……你重新正确:-) 话虽如此,“and'ing”听起来(看起来)很糟糕。而“&&ing”可能更糟。
    • 逻辑理论和计算机科学的专有名词是conjunction
    猜你喜欢
    • 2013-09-22
    • 2014-10-05
    • 2017-05-13
    • 1970-01-01
    • 2015-11-14
    • 2021-07-13
    • 2010-10-19
    • 2021-12-30
    • 2017-02-15
    相关资源
    最近更新 更多