用我的本地替换远程主分支

时间:2014-07-29 00:25:00

标签: git github

我一直在做一个项目,事情变得草率。我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,但我不确定现在该做什么。

1 个答案:

答案 0 :(得分:7)

您正在寻找强制推送(请参阅--force选项)。请注意,因为您可能通常不想更改与其他开发人员共享的远程分支的历史记录。