将dev合并为master并从dev分支

时间:2015-10-21 12:57:08

标签: git version-control merge git-merge

我们已经在git中与dev分支合作了很长时间。我们所有的代码都是dev分支的最新代码。然而,主分支非常过时。我们希望将dev分支合并回主分支以使其更新。

然而,当我们尝试将dev合并回master时,我们会遇到超过24,000个冲突。我知道疯了!主分支中的所有代码都已过期。理想情况下,我们希望将所有内容都放在dev中并覆盖master中的内容。

有没有办法将dev合并到master中并让它从dev获取所有最新代码并覆盖所有冲突以确保采用dev文件?我们不需要保留主分支中的任何代码,因为它已经过时了。当我们想要的只是采用开发分支代码时,手动完成所有冲突将是非常困难的。

我们需要将其推向所有队友的原点。

3 个答案:

答案 0 :(得分:5)

@ SnowMax的答案已经很好了:

git checkout master
git merge -X theirs dev

但是,根据项目的状态,可能仍然存在问题。也就是说,如果对主人进行了一些更改,会导致冲突,但是你可以扔掉(正如你所说的那样“主分支中的所有代码都已过时。 “)

为了把它们扔掉,你可以(在上面的步骤之后)

git checkout dev .
git commit -m "undid useless changes to master"

这将确保您的整个git仓库已签出为dev 如果你不关心dev分支的提交历史(你可能会关心它),那么最后两行就足够了。

请注意,如果您仍然在前两行中出现合并冲突,这也有效...

答案 1 :(得分:2)

只需使用

git checkout master
git merge -X theirs dev

答案 2 :(得分:-1)

您可以简单地将开发分支强制推送到远程生产中。

git push --force origin development:production