将本地分支推送到GitHub


117

我已经配置了Git,以便当我运行时git push,它将更改推送到我的GitHub存储库中。到目前为止,我只有一个master分支。

但是,我现在创建了一个本地分支,并使用以下方法进行了提交:

git checkout -b my_new_branch
git commit

我现在想做的就是将对这个分支的更改推送到GitHub。我只是做一个git push吗?

当我第一次设置它时,我确实运行了:

git config push.default current

您到底是什么问题?通过push.default这种方式设置,是的git push,假设您从那里克隆,则将当前分支推送到origin,这是您的github存储库。(如果需要,可以指定其他遥控器branch.my_new_branch.remote。)那么,您是否尝试过此方法,但无法使用?
卡斯卡贝尔2011年

1
如果您希望所有本地分支都推送到同一个远程分支,请明确:git push origin HEAD:remote_branch
Ustaman Sangat

Answers:


221

我相信您正在寻找git push origin my_new_branch,假设您的原始远程服务器已配置为可以访问github存储库。



3
如果您随后想与其他人一起在此分支上工作,并因此进行git pull,则需要为新分支设置跟踪信息: git branch --set-upstream-to=origin/my_new_branch my_new_branch
gloriphobia

9

根据您本地的git设置,如果您签出的分支不是克隆的分支,也不是您尝试推送的分支,则git不会推送您的本地分支。

这是它提供的消息:

警告:push.default未设置;在Git 2.0中,其隐式值已从“匹配”更改为“简单”。要抑制此消息并保持传统行为,请使用:

git config --global push.default匹配

要抑制此消息并立即采用新行为,请使用:

git config --global push.default简单

当push.default设置为'matching'时,git会将本地分支推送到已经存在相同名称的远程分支。

从Git 2.0开始,Git默认使用更为保守的“简单”行为,该行为只会将当前分支推送到“ git pull”用来更新当前分支的相应远程分支。

请参阅“ git help config”并搜索“ push.default”以获取更多信息。(“简单”模式在Git 1.7.11中引入。如果有时使用旧版本的Git,请使用类似的“当前”模式代替“简单”)

致命的:当前分支MyLocalBranch没有上游分支。要推送当前分支并将远程设置为上游,请使用

git push --set-upstream origin MyLocalBranch

0

如果你真懒,你可以推所有地方分公司通过简单地使用

git push --all

- 所有

推送所有分支(即ref下的ref refs/heads/);不能与其他一起使用<refspec>


-12

如果您已将git配置为推送到GitHub主存储库,则无论您在分支中,它都将推送到GitHub主存储库。

请记住,如果许多开发人员在同一个存储库中工作,则可能会发生冲突。


我确实运行了git config push.default当前
Noam
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.