创建 Git 变基别名

Creating Git Rebase Alias

我有这个 git 命令,我经常将其用作 zsh 函数。

git push --set-upstream origin $(git rev-parse --abbrev-ref HEAD)

我想要实现的是创建一个别名并能够将其称为 git upstream 而不是仅将 $ upstream 作为 zsh 函数调用。我得到的最接近的是:

[alias]
    upstream = "!fn() { git push --set-upstream origin $(git rev-parse --abbrev-ref HEAD) }; fn"

但是,我的猜测是,由于某些解析错误,它确实在 $(...) 处失败了。它向我显示的错误是:

> git upstream
fn() { git push --set-upstream origin $(git rev-parse --abbrev-ref HEAD) }; fn: -c: line 1: syntax error: unexpected end of file

我想通过别名做的事情可行吗?如果没有,你能告诉我任何类型的来源来创建 git upstream 命令吗?

例如在您本地的 bin 目录中 ~/bin 创建一个 git-upstream 文件:

#!/bin/sh
git push --set-upstream origin $(git rev-parse --abbrev-ref HEAD)

然后使其可执行

chmod u+x git-upstream

现在你可以打电话给git upstream

原来我很接近,只是漏了一个分号! ‍♂️

[alias]
  upstream = "!f() { git push --set-upstream origin $(git rev-parse --abbrev-ref HEAD); }; f"