If you have 59 seconds and in particular you're also on mobile, you might enjoy watching the YouTube #Shorts video.
When creating and pushing a new branch, you will get this error:
fatal: The current branch feature/my-cool-branch has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin feature/my-cool-branch
Since version 2.37 git has introduced a new config, called
push.autoSetupRemote that covers this case.
From the official documentation:
If set to "true" assume --set-upstream on default push when no upstream tracking exists for the current branch; this option takes effect with push.default options simple, upstream, and current. It is useful if by default you want new branches to be pushed to the default remote (like the behavior of push.default=current) and you also want the upstream tracking to be set. Workflows most likely to benefit from this option are simple central workflows where all branches are expected to have the same name on the remote.
First of all, make sure you're on version 2.37 or higher by just running
You can download the latest version from https://git-scm.com/ or via command line, for example with a mac using
brew install git
Now that you're all set, just run this command:
git config --global push.autoSetupRemote true
It will set in your global git configuration file the value
With that set, all first-time push on new branches will automatically set the default upstream.
Thanks for reading this post, I hope you find it interesting!
Feel free to follow me to get notified when new articles are out ;)