Pushing a local branch up to GitHub

GitGithubGit Push

Git Problem Overview


I have Git configured so that when I run git push, it pushes changes to my GitHub repo. Until now I have only had a master branch.

However, I have now created a local branch and committed to it using:

git checkout -b my_new_branch
git commit

What I would like to do now is push my changes on this branch to GitHub. Do I just do a git push?

When I first set it up I did run:

git config push.default current

Git Solutions


Solution 1 - Git

I believe you're looking for git push origin my_new_branch, assuming your origin remote is configured to hit your github repository.

Solution 2 - Git

Depending on your local git settings, if you have a branch checked out that isn't the one you cloned or one that exists where you are trying to push, git will not push your local branch.

Here is the message it provides:

> warning: push.default is unset; its implicit value has changed in Git > 2.0 from 'matching' to 'simple'. To squelch this message and maintain the traditional behavior, use: > > git config --global push.default matching > > To squelch this message and adopt the new behavior now, use: > > git config --global push.default simple > > When push.default is set to 'matching', git will push local branches > to the remote branches that already exist with the same name. > > Since Git 2.0, Git defaults to the more conservative 'simple' > behavior, which only pushes the current branch to the corresponding > remote branch that 'git pull' uses to update the current branch. > > See 'git help config' and search for 'push.default' for further > information. (the 'simple' mode was introduced in Git 1.7.11. Use the > similar mode 'current' instead of 'simple' if you sometimes use older > versions of Git) > > fatal: The current branch MyLocalBranch has no upstream branch. To push the > current branch and set the remote as upstream, use > > git push --set-upstream origin MyLocalBranch

Solution 3 - Git

If you are really lazy, you can push all local branches by simply using

git push --all

> --all > > Push all branches (i.e. refs under refs/heads/); cannot be used with > other <refspec>.

Solution 4 - Git

If you've configured your git to push to your GitHub master repo, no matter in with branch you are, it will push to your GitHub master repo.

Bear in mind that, if many developers are working in the same repository, you could get a conflict.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionNoamView Question on Stackoverflow
Solution 1 - GitTomView Answer on Stackoverflow
Solution 2 - GitxaxxonView Answer on Stackoverflow
Solution 3 - Gitserv-incView Answer on Stackoverflow
Solution 4 - GitGiaNUView Answer on Stackoverflow