如何在 Git 中将本地分支转换为远程分支?

时间:2021-06-03 12:18:27

标签: git github

目前我在 Git 中有一个名为“master”的远程分支和一个名为“sample”的本地分支。现在我想让本地分支“sample”成为远程分支,而不是“master”。有办法吗?

请指教。

4 个答案:

答案 0 :(得分:2)

尝试以下操作。

  1. 首先,将新的默认值推送到 GitHub

    git push -u origin sample
    
  2. 然后,在 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。在您更好地理解分支模型之前,您可能希望避免执行此命令。