I like to use simply git push
to push (only) the current branch to the configured upstream. For that I set git config push.default upstream
which does exactly the right thing.
Now I tried to set up a a suitable remote for Gerrit, which automatically pushes to refs/for/*
.
The idea was doing it this way:
[remote "gerrit"]
url = ssh://host:port/repo
push = refs/heads/*:refs/for/*
I would like to type git push gerrit
and expect git to push only the current branch to the correct ref.
Unfortunately now git tries to push all local branches to Gerrit. - Is there any way to tell git to push only the current branch like with the push.default
above?
Update:
For Gerrit I need a refspec like 'branch:refs/for/branch' with branch being the current branch.
Question:
git push
automatically push to the correct refs/for ref?Currently the best way I found is wrapping everything in a separate script like suggested here. But I am still not convinced that it is not possible with just a suitable refspec.
According to the source, Git currently implements push.default = upstream
by generating an explicit refspec containing explicit names.
Seems like there is currently no way to specify that behavior by a single generic refspec, and some script (like suggested here) which builds an explicit refspec is the only way for now.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With