118

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

但是,我现在创建了一个本地分支并使用:

git checkout -b my_new_branch
git commit

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

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

git config push.default current
4

4 回答 4

222

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

于 2011-01-20T20:48:49.073 回答
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
于 2016-01-28T22:14:03.917 回答
0

如果你真的很懒,你可以通过简单地使用来推送所有本地分支

git push --all

- 全部

推送所有分支(即 refs 下refs/heads/);不能与其他<refspec>.

于 2018-12-28T05:10:51.307 回答
-12

如果您已将 git 配置为推送到您的 GitHub 主存储库,那么无论您在哪个分支中,它都会推送到您的 GitHub 主存储库。

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

于 2011-01-20T20:49:26.680 回答