【问题标题】:How to resolve Git merge conflict如何解决 Git 合并冲突
【发布时间】:2012-03-05 21:32:51
【问题描述】:

我是 github 新手,正在尝试合并我的 master 和 gh-pages 分支。

在尝试合并时,我遇到了冲突。现在我收到以下消息

我该如何解决?

【问题讨论】:

标签: git merge git-merge


【解决方案1】:

我通常使用git mergetool 来解决冲突。

它会启动预定义的可视化合并工具。

【讨论】:

    【解决方案2】:

    看看你目前的状态:

    git status
    

    您可能会看到一些为提交暂存的文件和一些具有本地更改的文件。分阶段的是那些没有问题合并的。具有本地更改的那些具有合并冲突。打开每个文件,你会在里面的某个地方看到类似的东西:

    <<<<< master
    // some code that was in master
    =====
    // some code that was in gh-pages
    >>>>> gh-pages
    

    (反正我觉得是这样的)

    编辑它们中的每一个,使它们成为您希望它们成为的样子(即:修复冲突)。然后照他说的做:

    git add the/file/i/fixed.txt
    git commit
    

    【讨论】:

      【解决方案3】:

      基本上,按照经验法则尝试以下步骤


      查看当前状态

      git status
      

      如果您没有任何未跟踪或未提交的内容,您将执行以下操作

      此时您必须提交文件


      添加到跟踪和提交

      git add-commit -m 'commit message'
      

      此时您将拥有:

      您现在可以将分支合并到当前分支或通过其他分支签出

      git checkout <branch>
      

      合并一些分支


      合并一个分支

      git merge <branch>
      

      确保您没有冲突并且您现在可以成功合并分支。

      如果你有合并冲突,你会看到类似:

      您现在需要决定需要对冲突文件保留哪些更改,&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; HEAD 表示更改是在父分支中,而&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; refs/heads/new_idea 是实际从您尝试合并的分支添加的内容。

      您可以使用各种合并工具来查看和解决冲突,有关合并工具的帮助请查看 git mergetool

      希望对你有帮助!

      【讨论】:

        猜你喜欢
        • 2015-10-15
        • 1970-01-01
        • 2018-04-19
        • 2018-08-04
        • 2017-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-08
        相关资源
        最近更新 更多