I am configuring Gerrit
and I would like to avoid writing:
git push gerrit HEAD:refs/for/master
I would like to write:
git push review
I am sure it's possible modifying .git/config
but I can't make it work.
Git aliases are a powerful workflow tool that create shortcuts to frequently used Git commands. Using Git aliases will make you a faster and more efficient developer. Aliases can be used to wrap a sequence of Git commands into new faux Git command.
Your git aliases are often stored per your user's configuration at ~/. gitconfig . You can also manually set aliases using, for example, the command git config alias. s 'status -s' .
git commit git push origin HEAD:refs/for/master. is the same as: git commit git push origin HEAD:refs/for/refs/heads/master. Gerrit uses the refs/for/ prefix to map the concept of "Pushing for Review" to the git protocol. For the git client, it looks like every push goes to the same branch, such as refs/for/master .
I set up two different push types, review and noreview:
for reviews:
git config remote.review.pushurl ssh://<GERRIT_HOST>:29418/<PROJECT_PATH>.git git config remote.review.push refs/heads/*:refs/for/* git push review # this will push your current branch up for review
to bypass review:
git config remote.noreview.pushurl ssh://<GERRIT_HOST>:29418/<PROJECT_PATH>.git git config remote.noreview.push refs/heads/* git push noreview # this will push your current branch up, bypassing review
Note that there are some Gerrit Project changes that need to be made by the Project Owner/Gerrit Admin in order to bypass a review as well. I think the "Push" permission will need to be added to the project for refs/* (unless you're getting specific about what branch you'll allow bypassing the review in). However, for reviews, the permissions needed to post in will already be set up. In other words, if your
git push gerrit HEAD:refs/for/master
is working, than the "review" part above should work as well without changing anything else.
Why don't create bash alias?
alias review="git push gerrit HEAD:refs/for/master"
Now you can just type:
review
If you want to work on more than one gerrit branch, check my bash helpers for that: https://github.com/tomwys/gerrit-bash-commands
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