1

我拉下了我们的一个 GitHub repos 的 master 分支(没有分叉它)并从命令行分支,做了一些工作,添加了 + 提交,然后重新设置了 master。

当我git push从命令行调用时,我收到一条消息,说明The current branch has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin my_branch.

好吧,我看到那里提到了“起源”,有点担心这会以某种方式将我的更改推向 master 而不是my_branch. 我是 GitHub 的新手,我认为我应该安全行事。

相反,我打开了 Windows 客户端的 GitHub,在那里找到了我的分支,然后单击了“将分支推送到服务器”按钮。(至少我认为它是这么说的。)瞧,它奏效了。

单击该按钮在幕后做了什么,所以我知道下次要运行哪些命令?

4

2 回答 2

1

它基本上做到了:

git checkout my_branch
git push origin my_branch

如果你这样做

git push --set-upstream origin my_branch

每次你在分支中,你需要做的就是运行:

git push

它会自动转到my_branchGithub 上的分支。

于 2013-10-29T22:44:38.423 回答
1

可能类似于提到的命令 - git push origin my_branch

该消息The current branch has no upstream branch.意味着 Git 找不到与您新创建的分支关联的远程分支(这是有道理的,远程存储库中没有这样的分支)。

git push --set-upstream origin my_branch意思是“获取本地 my_branch,在 origin 中找到 my_branch 并将更改上传到那里。还将 origin/my_branch 设置为 my_branch 中 git push 的默认分支”。因此,下一次,在 my_branch 签出后,您只需git push将更改上传到适当的远程分支。

man git push有一些很好的示范示例(以及其他 git 命令)。

于 2013-10-29T22:46:03.990 回答