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

4

我正在进行一个项目的开发,但事情变得混乱了。我已经重置(reset)到一个稳定的提交(commit),但当我尝试推送(push)时,会提示我“当前分支落后于其远程对应分支”(显然)。Git给我的唯一选择是执行git pull。但我执行这个命令后,回到了那些不可行、混乱的最新提交,而我不想要这些。

我创建了一个名为stable的不同分支(branch),并使用reset --hard将其重置到稳定的提交(commit),然后尝试了以下操作:

$ 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,但现在不确定该怎么做。

啊,我同意;在我的搜索中没有看到过。 - starscream_disco_party
1个回答

9

你需要进行强制推送(参见--force选项)。但是请注意,您可能通常不想更改与其他开发人员共享的远程分支的历史记录。


啊啊啊 扶额。谢谢,谢谢。我知道这不是一个好的做法,但这只是一个小的个人项目,而且我有点生疏 :) - starscream_disco_party

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接