git alias to pull --rebase 当前分支

Bar*_*rry 5 git git-alias

我正在一个名为的分支上工作foo,我想根据origin/foo. 在现代版本的 git 中,我可以运行

$ git pull --rebase origin foo
Run Code Online (Sandbox Code Playgroud)

这是一个常见操作的大量输入。此外,因为我有一个旧版本的 git(见这个),我还需要先运行一个 fetch 以便我的本地图看起来不会混乱:

$ git fetch && git pull --rebase origin foo
Run Code Online (Sandbox Code Playgroud)

我怎样才能把它写成一个 git 别名?

jub*_*0bs 7

命令

git symbolic-ref --short HEAD
Run Code Online (Sandbox Code Playgroud)

输出当前分支的短名称,如果有的话(或者HEAD,如果 HEAD 被分离)。因此,您可以在别名定义的命令替换中使用它:

git config --global alias.<name> '!git fetch && git pull --rebase origin $(git symbolic-ref --short HEAD)'
Run Code Online (Sandbox Code Playgroud)

where<name>代表您的别名。