Git 如何使拉取请求处于“状态”;是否可以自动合并;?

Git 如何使拉取请求处于“状态”;是否可以自动合并;?,git,github,Git,Github,我已经从dev分支扩展到feature分支,并进行了一些提交。现在,当我发送请求将功能分支合并到dev分支时,我在github上注意到,由于一些冲突的更改,分支无法自动合并。我需要做什么才能使我的功能分支进入“可以自动合并”状态 我现在做的是: 签出dev分支 合并功能分支 还记得引起冲突的台词吗 签出功能分支 手动将每一行恢复为dev分支的状态 提交并推送修补程序 但这看起来像许多手工制品。所以我想知道这是否可以简化 更新 请注意,我希望将我的功能分支更改与开发分支隔离(目的是跟踪哪个分支引入

我已经从
dev
分支扩展到
feature
分支,并进行了一些提交。现在,当我发送请求将
功能
分支合并到
dev
分支时,我在github上注意到,由于一些冲突的更改,分支无法自动合并。我需要做什么才能使我的
功能
分支进入“可以自动合并”状态

我现在做的是:

  • 签出
    dev
    分支
  • 合并
    功能
    分支
  • 还记得引起冲突的台词吗
  • 签出
    功能
    分支
  • 手动将每一行恢复为
    dev
    分支的状态
  • 提交并推送修补程序
  • 但这看起来像许多手工制品。所以我想知道这是否可以简化

    更新


    请注意,我希望将我的
    功能
    分支更改与
    开发
    分支隔离(目的是跟踪哪个分支引入了回归,并将每个新功能与其他功能隔离测试)。因此,在将
    dev
    合并/重定基址到
    feature
    中可以解决问题,它将把
    dev
    中所做的所有更改带入
    feature
    中,我将失去隔离。

    一些假设:您从
    dev
    中取出一个分支,并将其命名为
    feature
    ,您希望将
    feature
    合并到
    dev

    您的分支
    功能
    无法合并到
    开发分支,因为有人已经对
    dev`进行了更改,git无法自动解决冲突

    在这个场景中,您可以采取两种方法

  • 重基-在这种情况下,您将遵循以下步骤
    • 签出
      dev
    • 从远处拉
    • 签出
      功能
    • git-rebase-dev
      -在内部,这1)将删除上一次之后的所有提交 在
      功能
      开发
      相同的地方提交2)应用所有
      开发
      提交3)逐个应用所有
      功能
      提交-并作为 发生冲突时,git会提示您修复冲突。最后一步 重复,直到您的所有提交都成功应用回
      功能
      分支
    • 将所有更改推送到
      功能
      分支远程
    • 发送拉取请求:-)
  • 这是我一直遵循的方法,建议您定期从父分支获取拉力,以避免冲突。这将在git提交历史中创建菱形结构

  • 第二个是merge,但我使用和发现rebase更干净,并且总是使用它
    选项2:您的意思可能是“将
    dev
    合并到
    feature
    ”,对吗?这一点应该澄清。将
    dev
    合并到
    feature
    中,您可以自己解决冲突,然后将
    feature
    合并到
    dev
    中而不发生冲突。但这让历史看起来很肮脏。理想情况下,在将
    feature
    合并到
    dev
    中时,您可以通过将
    dev
    合并到
    feature
    (或将
    dev
    重定基址到
    feature
    )来解决冲突我解除了对分支更改的隔离,这正是我试图避免的。git中有一个二进制搜索功能,可以帮助您识别引入错误的提交。@Dziamid-永远不可能让一个分支完全孤立,并且仍然能够将此分支合并到父分支中。最终,您还必须从父分支获取代码。我意识到这一点。我希望尽可能少地采取行动,以便在分支机构最终合并时不会发生冲突。