【发布时间】:2015-10-23 22:39:29
【问题描述】:
问题是团队成员错误地创建了一个名为“Head”的单独分支(主分支是主分支)。 “Head”有最新的代码,我现在想把它重写给 master(因为它是最新的所有代码)。
当我尝试执行“将 Head 合并到 master”时,我收到一条错误消息,说“不相关的分支”。我搜索了一下,发现我需要在本地拉分支(“头”),然后将其推送(或强制推送)到远程“主”分支以合并代码。
我使用了以下命令:
git fetch && git checkout Head 并将其签出(克隆)到本地。现在,当我尝试推送时,它显示我落后 17 次提交,并且要推送 3 次更改。
如何强制将我在本地拥有的所有内容合并到远程主机中?
谢谢
编辑
我做了das-g 告诉我的事情,但似乎我在远程看到的唯一变化是Head 分支被删除。最初在Head 中的代码更改已经消失(或丢失!!!)。我可以看到标签和历史记录,但似乎这些更改被永远删除了!!!
截图:
【问题讨论】:
-
我会拉入并合并到真正的(服务器)分支中。然后移动本地头指向服务器/源头。这样,没有什么是“强迫”的。 Git 就像一棵树,而不是高速公路。
-
请用命令而不是指示给我一个可行的解决方案。我要走出这个烂摊子!!
-
Re:编辑关于明显丢失的更改: Hu?在您的第二个屏幕截图中,我仍然可以看到相同的修订,只是本地
Head分支消失了。 (尽管由于缺少提交消息而中止了合并,但您是否删除了它?)git checkout -b Head origin/Head应该恢复您的本地Head分支(因为远程Head分支仍然指向正确的修订版09298ea,就我可以从你的截图中看到)。