代码之家  ›  专栏  ›  技术社区  ›  Roger

如何使用git中的override选项将一个分支合并到另一个分支中

git
  •  3
  • Roger  · 技术社区  · 16 年前

    我正在使用capistrano,因此我需要将所有更改推送到生产分支,以便部署。然而,当我合并时,我会遇到大量的合并冲突。我不关心合并问题,因为我希望我的生产分支被主分支覆盖。有办法吗。

    如果不是的话,我正在考虑创建一个名为production_old的生产分支。然后删除生产分支中的所有内容,然后从主分支合并。

    我正在使用github。

    2 回复  |  直到 16 年前
        1
  •  1
  •   miku    16 年前

    也许是 ours 合并策略是您正在寻找的。

    http://www.kernel.org/pub/software/scm/git/docs/git-merge.html

        2
  •  1
  •   Mike Seplowitz    16 年前

    警告:我没有使用github的经验。话虽如此。。。

    我不认为你真的想在这里合并。如果我理解正确,您有一个反映部署内容的分支( production ),并且您有一个分支,其中包括已部署的内容以及更新的更改( master ),但现在您已经准备好促进 主人 成为新的 内容。

    在这种情况下,我认为您的最后一个建议接近您想要做的,尽管您不需要在现有的生产分支中删除内容。我会的

    1. 生产 分支以便您不会忘记它。
    2. 移动 分支指向 主人 .

    我相信你可以通过跑步来完成第二步 git branch -f production master ,这将创建一个新的 生产 分支使用 主人 作为一个起点。因为 生产 已经存在,您需要 -f 强制创建它的标志。这也应该等同于运行 git checkout production 那么 git reset --hard master 强迫分支的头匹配

    再说一次,我一定要给你的原作贴上标签 在做任何事情之前先分支,既为了子孙后代,也为了一个安全网,以防这在第一次不起作用。