如果必须在两个地方重复相同的文本,git别名是否可以使用参数?

时间:2018-05-11 17:16:00

标签: git

不使用shell,我可以在git别名上使用参数吗?

例如,我的主要远程分支总是被称为“上游”,有时git会丢失我本地分支的引用并说:

There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=<remote>/<branch> master

我想要一个别名,例如

[alias]
    reup = branch --set-upstream-to=upstream/$1 $1

所以我可以输入git reup master

(或者甚至更好,将git配置为始终将远程视为“上游”?)

1 个答案:

答案 0 :(得分:3)

不使用shell?不,但是有了shell,确定:

[alias]
brup = "!f() { git branch --set-upstream-to=${2:-origin}/$1 $1; }; f"

现在,您可以运行git brup dev将上游设置为origin/devgit brup dev upstream,将上游设置为upstream/dev