【问题标题】:Problem merging branch into master in git在git中将分支合并到master中的问题
【发布时间】:2018-12-14 20:14:47
【问题描述】:

我有一个文件 A、B、C 的主人 我有一个名为“功能”的分支,其中包含文件:D、E、F。

是的,我的分支没有从我的 master 中切断,因此分支和 master 之间的文件完全不同。

现在我想用分支中的内容替换我的主人的内容。

我能做什么?

【问题讨论】:

标签: git


【解决方案1】:

您可以尝试以下方法:

git checkout feature git merge -s ours master git checkout master git merge feature

参考:https://git-scm.com/docs/git-merge

【讨论】:

    【解决方案2】:

    我想...将我的 master 的内容替换为 [feature] 中的内容

    听起来你根本不想合并。我会这样做:

    git checkout master
    git tag old-master
    git reset --hard feature
    

    git 中的分支不是文件的容器:它只是特定提交的名称。

    git checkout master 命令做了两件事;

    1. 它使工作空间看起来像 master 提交所说的任何样子,但我们不在乎,并且
    2. 它使master 成为“当前”分支。

    git tag old-master 命令是可选的:它为即将不再是 master 的提交创建一个新名称 (old-master),以防万一您可能想再次找到它。

    git reset --hard feature 是金钱命令:它做两件事;

    1. 它将当前分支 (master) 更改为引用 feature 所引用的同一提交,并且
    2. 它重新检查它,使工作区看起来像主/功能提交所说的那样。

    【讨论】:

      【解决方案3】:

      如果您将 master 的全部内容替换为 feature,那么您需要从 master 中删除所有内容,对吗?比这应该做的:

      git checkout master
      git rm -rf *
      git merge feature
      

      【讨论】:

        猜你喜欢
        • 2021-03-08
        • 2016-04-30
        • 1970-01-01
        • 2013-01-14
        • 2016-09-20
        • 1970-01-01
        • 1970-01-01
        • 2021-06-06
        • 2017-05-05
        相关资源
        最近更新 更多