我一直在做一个项目,但事情变得草率了。我已经 reset
到一个稳定的提交,但是当我尝试 push
时,我被告知“当前分支在它的远程分支后面”(很明显)。 Git 给我的唯一选项是 git pull
。当我尝试这样做时,我又回到了更新的、草率的提交,这些提交不起作用而且我不想要。
我创建了一个名为 stable
的不同分支,并运行 reset --hard
到稳定提交,然后尝试了以下操作:
$ git checkout stable
# => Switched to branch 'stable'
$ git merge -s ours master
# => Already up-to-date.
$ git checkout master
# => Switched to branch 'master'
# => Your branch is behind 'origin/master' by 9 commits, and can be fast-forwarded (use "git pull" to update your local branch)
$ git merge stable
# => Already up-to-date.
运行这些命令后,我的 master
分支仍处于我想要摆脱的状态。
我想让 stable
成为新的 master
但我不确定现在该做什么。
最佳答案
您正在寻找强制推送(请参阅 --force
选项)。请注意这一点,因为您通常可能不想更改与其他开发人员共享的远程分支的历史记录。
关于git - 用我的本地替换远程主分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25006435/