An easy way to push the current branch —03 August 2015
When working with feature branches, a common task is pushing the current branch to GitHub so that you can create a merge/pull request from it.
To push a single branch, the textbook command is:
git push -u origin branchname
The purpose of the
-u is to setup the local branch to track the remote branch,
so that when you do
it will tell you when your local branch and the remote have some differences.
For example, if you do a commit after a push,
git status will tell you that your local branch is ahead of the remote branch.
You only need to specify
-u on the first push.
Typing the branch name can be a bit tedious.
Especially if you consider that when working with feature branches,
it’s recommended to give long descriptive names to branches,
Auto-completion by pressing tab while typing a branch name helps.
An alternative way to push the current branch, whatever it’s called, is this:
git push -u origin HEAD
Interestingly, in case insensitive filesystems like Windows and OSX,
git push -u origin head works too.
Sometimes this can be more convenient than typing the name.
For example I often search for recent commands in Bash using the
Control-r shortcut which,
with a keyword
ori for example,
typically gives me back the last
git push -u origin HEAD command.
But my favorite solution for pushing the current branch is to create an alias called
mr (as in Merge Request) in my
[alias] mr = push -u origin HEAD
So I can do simply
git mr for the same effect.
For this and other convenient aliases, see my