When I'm using a local branch mybranch
, I'd like to be able to push to and pull from origin mybranch
using just git push
and git pull
. As it is, I have to tediously write out git push origin mybranch
and git pull origin mybranch
. If I try to use just git pull
for example, I get:
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> mybranch
And if I enter git branch --set-upstream-to=origin/mybranch mybranch
, then it works. But this is almost as tedious as the previous commands. Can I just have git do this as default behavior? I've seen similar questions asked and the answers tend to suggest that newer versions of git do this, but I'm using git version 2.1.3, which is fairly new, so it can't just be that.
Best Answer
As of git 2.37.0, this is now possible with git configuration.
Run to update your configuration:
Then
git push
will automatically setup the remote branch.Note: The
--global
flag means this will apply to all git commands on your machine (regardless of which repo it is), you can omit the flag to make it specific to a single repo on your machine.Documentation:
https://git-scm.com/docs/git-config#Documentation/git-config.txt-pushautoSetupRemote