我的 Git 存储库中有两个分支:
master
seotweaks
我创建seotweaks的目的是快速将其合并回master. 然而,那是三个月前的事了,这个分支中的代码比master.
它实际上已成为我们的工作主分支,因为其中的所有代码master现在或多或少已经过时了。
我知道的非常糟糕的做法,吸取了教训。
你知道我如何用 中的内容替换master分支的所有内容seotweaks吗?
我可以删除所有内容master并合并,但这并不是最佳实践。
您应该能够使用“我们的”合并策略用 seotweaks 覆盖 master,如下所示:
git checkout seotweaks git merge -s ours master git checkout master git merge seotweaks
结果应该是你的主人现在基本上是 seotweaks。
(-s ours简称--strategy=ours)
-s ours
--strategy=ours
从有关“我们的”策略的文档中:
这解决了任意数量的头,但合并的结果树始终是当前分支头的树,有效地忽略了所有其他分支的所有更改。它旨在用于取代分支的旧开发历史。请注意,这与递归合并策略的 -Xours 选项不同。
从评论更新:如果你得到致命的:refusing to merge unrelated histories,然后将第二行更改为:gitmerge --allow-unrelated-histories -s ours master
refusing to merge unrelated histories
merge --allow-unrelated-histories -s ours master