[英]How to convert a local branch to a remote branch in Git?
目前我在 Git 中有一个名为“master”的远程分支和一个名为“sample”的本地分支。 现在我想让本地分支“sample”成为远程分支,而不是“master”。 有没有办法这样做?
请指教。
试试下面的。
一、推送新默认为GitHub
git push -u origin sample
然后,在 GitHub 中,打开存储库并单击分支链接。
单击更改默认分支按钮,然后单击 select 新的默认分支。
您现在可以删除旧的远程主机
git push origin :master
这不是分支机构的工作方式。 本地分支和远程分支是不同的集合,可以链接但不必链接。 远程分支以远程名称为前缀,例如origin/master
并对应于远程本地的master
分支。
通常,您将拥有一个跟踪远程分支的本地分支。 例如,您的本地master
分支可能正在跟踪远程origin/master
分支,这意味着默认情况下您将推送到该分支并从该分支拉取。 但是这两个分支仍然是独立引用历史中的提交的实际分支。
但是,如果您有一个本地分支sample
并希望将其作为“示例”发布到远程,那么您可以将其推送到远程:
git push origin sample
这会将本地sample
分支推送到远程,在远程创建本地分支,并将远程分支添加到您的存储库,名为origin/sample
,代表远程的本地分支。
为了使本地分支到远程分支,请使用
git push --set-upstream origin sample
您问题的措辞很难确定,但我相信您正在寻找:
git push --force origin sample:master
这不会使sample
成为远程分支。 它更改了远程上的master
分支,以便它现在引用本地分支sample
所引用的同一提交。 请注意,这样做有些破坏性。 在执行此命令之前master
正在引用的提交可能不再有任何引用,因此可能会在下一个垃圾回收周期中被删除。 始终非常小心地使用git push --force
。 在您更好地理解分支 model 之前,您可能希望避免执行此命令。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.