我喜欢使用简单的git push
命令将当前分支推送到配置的上游。为此,我设置了git config push.default upstream
,它会自动做正确的事情。
现在,我尝试为Gerrit设置适当的远程,以便自动推送到refs/for/*
。
做法如下:
[remote "gerrit"]
url = ssh://host:port/repo
push = refs/heads/*:refs/for/*
我想输入
git push gerrit
,并期望git仅将当前分支推送到正确的引用。不幸的是,现在git会尝试将所有本地分支推送到Gerrit。-是否有办法告诉git只像上面的push.default
一样推送当前分支?更新:
- Git push仅能使用一个refspec。
- 如果在命令行上给出了显式的refspec,则使用该值。
- 如果没有在命令行上给出,则使用与远程定义的refspec。
- 如果没有与远程定义,则仅考虑push.default。
问题:
- 是否有与push.default=upstream相当的显式refspec?
- 是否有一种方法可以配置git使纯粹的
git push
自动推送到正确的refs/for ref?
push.default
。如果您通过命令行提供refspec(如HEAD
),则会覆盖与远程给定的refspec。因此,它将只推送到ref/heads
,这不是您想要的。有趣的。 - VonC