目前我在 Git 中有一个名为“master”的远程分支和一个名为“sample”的本地分支。现在我想让本地分支“sample”成为远程分支,而不是“master”。有办法吗?
请指教。
答案 0 :(得分:2)
尝试以下操作。
首先,将新的默认值推送到 GitHub
git push -u origin sample
然后,在 GitHub 中,打开存储库并单击分支链接。
点击更改默认分支按钮,然后选择新的默认分支。
您现在可以删除旧的远程主控
git push origin :master
答案 1 :(得分:1)
这不是分支的工作方式。本地分支和远程分支是不同的集合,可以链接但不必链接。远程分支以远程名称为前缀,例如origin/master
并对应于远程本地的 master
分支。
通常,您会有一个本地分支来跟踪远程分支。例如。您的本地 master
分支可能正在跟踪远程 origin/master
分支,这意味着默认情况下您将推送到该分支并从该分支拉取。但是这两个分支仍然是独立引用历史记录中的提交的实际分支。
但是如果您有一个本地分支 sample
并且想要将其发布到远程作为“样本”,那么您可以将其推送到远程:
git push origin sample
这会将本地 sample
分支推送到远程,在远程上创建一个 local 分支,并添加一个远程分支 em> 到您的名为 origin/sample
的存储库,该存储库代表远程的本地分支。
答案 2 :(得分:1)
为了使本地分支到远程分支请使用
git push --set-upstream origin sample
答案 3 :(得分:0)
您问题的措辞让人难以确定,但我相信您正在寻找:
git push --force origin sample:master
这不会使 sample
成为远程分支。它更改远程上的 master
分支,以便它现在引用本地分支 sample
引用的相同提交。请注意,这样做具有一定的破坏性。 master
在执行此命令之前引用的提交可能不再有任何引用,因此可能会在下一个垃圾回收周期中被删除。始终极其谨慎地锻炼 git push --force
。在您更好地理解分支模型之前,您可能希望避免执行此命令。