Git快速前进至上游,无需签出

Git快速前进至上游,无需签出,git,Git,我经常使用git命令git-fetch-origin-master:master。我想有一个别名,这样我就可以做git ff master。我该怎么做?我唯一缺少的是获取远程分支名称。我知道我可以做git rev parse--abbrev ref master@{u}来获得origin/master,但我只需要从中获得master 因此,我想象它将是类似于git fetch$(git config branch.$1.remote)$(?):$1的东西,我只需要填写???。然后我可以添加一些错

我经常使用git命令
git-fetch-origin-master:master
。我想有一个别名,这样我就可以做
git ff master
。我该怎么做?我唯一缺少的是获取远程分支名称。我知道我可以做
git rev parse--abbrev ref master@{u}
来获得
origin/master
,但我只需要从中获得
master

因此,我想象它将是类似于
git fetch$(git config branch.$1.remote)$(?):$1
的东西,我只需要填写???。然后我可以添加一些错误处理

相关的:


  • 我有一个工作别名。现在我可以做
    git-ff-master
    。谢谢你的提示@torek

    git ff(我把它和我的zsh函数放在一起)

    .gitconfig

    ff = !zsh -c \"git-ff $@\"
    

    Git生成
    origin/master
    (对于
    master@{u}
    )的方法是通过
    remote..fetch
    refspec运行
    Git config--get branch..merge
    的结果。您想避开这一步,所以直接获取
    branch..merge
    。@torek我需要远程分支的名称
    git config--get branch..merge
    提供本地分支。不,它是远程显示的名称。试试看:
    git rev parse--abbrev ref master@{u}
    说的是
    origin/master
    ,所以让我们把它改成:
    git branch--set upstream to=origin/maint
    分支“master”设置为从“origin”跟踪远程分支“maint”。
    git config--get branch master merge
    refs/heads/maint
    (这是他们的
    maint
    ,而不是我的
    maint
    :我甚至没有
    maint
    )。@torek啊,你说得对!我的错。你为什么不发布答案?
    ff = !zsh -c \"git-ff $@\"