Git别名与适用条件

时间:2019-03-12 11:36:40

标签: git

我已经创建了一个简单的别名,该别名将推送到原始位置,然后将检出dev分支

就这样

origin-push = !git push origin && git checkout develop

我想添加一条检查,仅在分支主控上执行,否则仅显示一条简单消息。该怎么做?

-Windows用户-

1 个答案:

答案 0 :(得分:2)

  • '!'之后的内容是一个shell脚本。您可以在此命令行中添加任何感觉。

  • 查看当前分支名称的一种方法是:git rev-parse --abbrev-ref HEAD

像这样的东西:

! [ "$(git rev-parse --abbrev-ref HEAD)" = "master" ] && ...

应该工作

完整命令(thx @phd):

origin-push-master = ![ "$(git rev-parse --abbrev-ref HEAD)" = "master ] &&
    git push origin && git checkout develop ||
        echo The current branch is not master >&2

如果此操作过于复杂以至于不能成为简单的单行代码,则可以使用简单别名的替代方法是:

创建一个名为git-origin-push的脚本,应该可以从您的$PATH访问该脚本。