【问题标题】:Merge dev into master and take all code from dev branch将 dev 合并到 master 并从 dev 分支中获取所有代码
【发布时间】:2016-01-20 11:42:53
【问题描述】:

我们已经在 git 中使用 dev 分支很长时间了。我们所有的代码在 dev 分支上都是最新的。然而,主分支已经过时了。我们正在寻求将 dev 分支合并回 master 分支以使其保持最新状态。

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

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

我们需要将它推送到我们所有队友的原点。

【问题讨论】:

    标签: git version-control merge git-merge


    【解决方案1】:

    @SnowMax 的回答已经很好了:with

    git checkout master
    git merge -X theirs dev
    

    但是,根据您项目的状态,这可能仍然存在问题。即,如果对 master 进行了一些更改,但 不会 导致冲突,但您会丢弃(正如您所说的“master 分支中的所有代码都已过时。 ")

    为了也扔掉这些,你可以做(​​在上面的步骤之后)

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

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

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

    【讨论】:

      【解决方案2】:

      简单使用

      git checkout master
      git merge -X theirs dev
      

      【讨论】:

      • 不幸的是,我仍然在这里看到冲突合并
      【解决方案3】:

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

      git push --force origin development:production
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-09-14
        • 2020-05-04
        • 1970-01-01
        • 2013-03-25
        • 1970-01-01
        • 2014-02-19
        • 2018-12-23
        相关资源
        最近更新 更多