Pushing a local branch up to GitHub

泪湿孤枕 提交于 2019-12-17 21:38:55

问题


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

回答1:


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




回答2:


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



回答3:


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>.




回答4:


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.



来源:https://stackoverflow.com/questions/4752387/pushing-a-local-branch-up-to-github

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!