我的 Git 存储库中有两个分支:
master
-
seotweaks
(最初创建于master
)
我创建seotweaks
目的是快速将其合并回master
。然而,那是三个月前的事了,这个分支中的代码比之前提前了 13 个版本。master
.
它实际上已经成为我们的工作主分支,因为所有代码都在master
现在或多或少已经过时了。
我知道这是非常糟糕的做法,吸取了教训。
你知道我如何替换所有的内容吗master
与那些在seotweaks
?
我可以删除所有内容master
并合并,但这感觉不是最佳实践。
您应该能够使用“我们的”合并策略来使用 seotweaks 覆盖 master,如下所示:
git checkout master
git pull
git checkout seotweaks
git merge -s ours master
git checkout master
git merge seotweaks
前两个步骤是一个有用的预防措施,可确保您的本地 master 副本是最新的。结果应该是你的master现在基本上是seotweaks。
(-s ours
是缩写--strategy=ours
)
From the docs https://git-scm.com/docs/git-merge关于“我们的”战略:
这可以解析任意数量的头,但合并的结果树始终是当前分支头的树,从而有效地忽略来自所有其他分支的所有更改。它旨在用于取代侧分支的旧开发历史。请注意,这与递归合并策略的 -Xours 选项不同。
评论更新:如果你致命了:refusing to merge unrelated histories
,然后将第二行更改为:git merge --allow-unrelated-histories -s ours master
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)