代码之家  ›  专栏  ›  技术社区  ›  Saurabh Tiwari

在Git请求中没有可用于合并的提交

  •  1
  • Saurabh Tiwari  · 技术社区  · 6 年前

    developer 在另一个分支中让我们说 main

    后来我意识到 开发商 主要的 .

    我用了 remove branch 主要的 分支机构。我把这个请求和 主要的 开发商 ,而 开发商

    不过,几天后我希望这些更改可以在 主要的 ,我尝试从中创建新的合并请求 开发商 主要的 . 此请求不显示要合并的提交。

    也许提交是较早合并到的 branch和Git现在无法将它们识别为新提交(尽管它们已恢复)。

    如何合并中可用的更改 到“main”了吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Lasse V. Karlsen    6 年前

    您必须采取的步骤可以概括如下(注意,我将首先概述您可能希望采取的方法,然后概述需要采取的步骤) 必修的 ):

    你应该这样做:

    1. 在main中,创建并签出一个新的临时分支来稳定合并

      git checkout main
      git checkout -b temp-merges
      
    2. 回复你的回复, 在这个新的分支上

      git revert SHA-OF-PREVIOUS-REVERT
      
    3. git merge developer
      
    4. 最后将临时分支合并到main中,接受结果

      git checkout main
      git merge temp-merges
      
    5. 删除临时分支

      git branch -d temp-merges
      

    现在,这允许您在最终合并到main之前验证结果。

    在最终合并之前,以下是分支的外观

            developer
                v
    1--2--3--4--5--------------------+
           \                          \
            \                 (-(-D))--G 
             \               /         ^
              \             /      temp-merges
      A--B--C--D--(-D)--E--F
                           ^
                          main
    

    必修的 步骤很简单:

    1. 还原主分支上的还原

    2. git合并开发人员
      
    3. 如有必要,进行验证


    1. 还原主分支上的还原

      git-revert-SHA-OF-PREVIOUS-revert文件