Git快速前进至上游,无需签出
我经常使用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-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 $@\"