我拉下了我们的一个 GitHub 存储库的主分支(没有分叉它)并从命令行分支,做了一些工作,添加 + 提交,然后重新定位主。
当我从命令行调用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.
好吧,我看到了其中提到的"起源",有点担心这会以某种方式将我的更改推向主而不是my_branch
. 我是 GitHub 的新手,认为我应该谨慎行事。
相反,我打开了 GitHub for Windows 客户端,在那里找到了我的分支,然后单击了"将分支推送到服务器"按钮。 (至少我认为它是这么说的。 你瞧,它奏效了。
单击该按钮在后台做了什么,所以我知道下次要运行哪些命令?
可能类似于提到的命令 - git push origin my_branch
.
消息The current branch has no upstream branch.
意味着 Git 找不到与您新创建的分支关联的远程分支(这是有道理的,远程仓库中没有这样的分支)。
git push --set-upstream origin my_branch
的意思是"获取本地my_branch,在原产地查找my_branch并在那里上传更改。还将 origin/my_branch 设置为 git push 的默认分支 my_branch"。因此,下次签出my_branch后,您只需git push
,更改就会上传到相应的远程分支。
man git push
有一些很好的示范性示例(以及其他 git 命令)。
它基本上做到了:
git checkout my_branch
git push origin my_branch
如果你这样做
git push --set-upstream origin my_branch
每次您在分支中时,您需要做的就是运行:
git push
它会自动转到 Github 上的my_branch
分支。