解决Git合并冲突的步骤

时间:2018-02-02 09:29:43

标签: git merge-conflict-resolution

在执行这些步骤后合并冲突:

  1. 从开发分支创建的功能分支。
  2. 提交A在功能分支上创建。
  3. 很少有提交合并从其他功能分支开发分支。
  4. 开发分支合并到功能分支 - 创建合并提交。
  5. 在第4步之前,可以在远程/本地存储库中进行更改,也可以进行拉/推。现在,远程开发分支发生了一些更改,导致合并冲突(在Web界面上看到),从功能分支到开发分支的拉取请求。
  6. 合并冲突解决步骤:

    1. 在本地存储库中的功能分支中恢复提交A.
    2. 从开发到本地存储库的最新更改并合并到功能分支。此合并步骤不会导致任何合并冲突,因为功能分支上的更改将在步骤之上恢复。
    3. Cherry选择提交A到功能分支,这会出现合并冲突。解决合并冲突。 很容易解决此合并冲突,因为您将查看要在功能分支中添加的更改。
    4. 决议步骤1-3在本地存储库中执行并推送到远程。

      问题: 如果不执行从开发到功能的合并(合并提交 - 步骤4),则合并冲突解决步骤可以正常工作。这些解决步骤是否存在任何问题,在提交A之后给出,合并提交在功能分支上执行。

      查询不涉及如何解决合并冲突。这是关于提到的步骤给出任何麻烦,在提交A之后给出,合并提交也在特征分支上执行。

      更新 - 答案: 上述过程没有任何问题。在该问题中,在提交特征分支(步骤2)之后,完成从开发分支到特征分支的合并提交(步骤4)。合并冲突解决步骤工作正常,给定,在步骤4完成的合并提交中,没有解决合并冲突。

      如果在步骤4中解决了合并冲突,则对功能分支的更改在提交A以及合并提交(步骤4)中。在这种情况下,下面的合并冲突解决步骤(1-3)是不够的。如果在功能分支上发生任何合并冲突,则应从开始(从创建时间功能分支)开始遵循合并解决步骤(1-3)。

1 个答案:

答案 0 :(得分:0)

AFAICS,您希望保留develop中的更改以及feature中的更改。我希望在这种情况下使用rebase,因为我希望develop作为feature分支的基础,我只希望将来自A的提交feature置于develop之上{1}}。

git checkout develop
git pull origin develop
git checkout feature
git rebase develop

# If any conflicts are here, you HAVE to look up what part of code you'd like to keep and what to discard.

这不会让你失望。