Git使远程主机指向另一个分支

Git使远程主机指向另一个分支,git,Git,我们有一个“dev”分支,它已经作为事实上的主机运行了很长一段时间 有没有办法让我的remote/master指向与remote/dev相同的位置?(无合并/重定基址/额外工作) (或多或少将dev重命名为master) 提前感谢签出主分支,将其重置为dev,推送。 这将影响下游用户,这些用户可能在远程/主机上有分支 git checkout master git reset --hard remote/dev git push -f 这将导致您丢失自remote和dev发生分歧以来所做的

我们有一个“dev”分支,它已经作为事实上的主机运行了很长一段时间

有没有办法让我的remote/master指向与remote/dev相同的位置?(无合并/重定基址/额外工作)

(或多或少将dev重命名为master)


提前感谢

签出主分支,将其重置为dev,推送。 这将影响下游用户,这些用户可能在远程/主机上有分支

git checkout master

git reset --hard remote/dev

git push -f

这将导致您丢失自remote和dev发生分歧以来所做的任何提交,但最终的状态将与remote/dev相同。

假设您的remote被命名为
origin

git push origin +origin/dev:refs/heads/master
然后,如果还要删除
dev

git push origin :refs/heads/dev

大概你也会想移动你的本地主机,可能需要硬重置。(在这一点上,你还不如按照RJFalconer的建议去做。)@Jefromi:它对本地存储库的结构做了更多的假设。例如,如果上游的
master
中没有活动,不难想象本地
master
分支根本不存在。一般来说,本地和远程分支之间的映射是任意的,尽管大多数人确实倾向于保持它的直观性。这是一个有效的观点。我确实认为他会有一个“主人”来匹配他的“遥控器/主人”。这不是一个很大的假设,但仍然是一个假设。只是为了验证-我将失去对master的所有承诺,但保留开发分支的所有历史记录?这对我来说很有效,然后我使用@Roman的方法删除了带有
git push origin:refs/head/dev