【问题标题】:Azure Git: How not to select some files for mergeAzure Git:如何不选择某些文件进行合并
【发布时间】:2020-07-14 02:24:22
【问题描述】:

我正在与Azure DevOps Git 合作。我有一个带有 2 个分支 DevelopmentRelease 的 repo。我在 Release 分支中做了 5 处更改,都在不同的文件夹中,都在不同的提交中。现在我只需要将其中的 3 个更改合并到 Development 分支,即其中 2 个更改不应合并到 Development 分支。我该怎么做?

在 Azure 网页中,我进入我的仓库,点击 Pull requests 链接打开它,然后点击 New Pull request 按钮开始创建新的 Pull request .然后对于源分支我选择 Release 分支,对于目标分支我选择 Development 分支。它的文件选项卡显示 5 个文件。但我没有看到任何不选择其中任何一个的选项。

【问题讨论】:

  • 这些更改是在单个提交中还是作为不同的提交?
  • @PranavSingh 他们在不同的提交中
  • 您能解释一下您要排除的两个文件的作用吗?您是否知道您将永远不会希望在您的 Development 分支中进行这些更改?还是您现在想排除它们,但将来需要它们?
  • @LeGEC 我永远不会希望在开发分支中进行这些更改

标签: git azure merge azure-devops azure-repos


【解决方案1】:

Pranav Singh 的评论将是最佳选择,挑选樱桃。创建 PR 时,您将一个分支合并到另一个分支。如果您只想合并部分更改,我会根据默认分支创建一个新分支,然后将更改挑选到该新分支中。你不想从一个分支中挑选到默认分支,因为这违背了 PR 的目的。

https://git-scm.com/docs/git-cherry-pick 原始 git 手册是一个很好的资源,但有时很难通读。

有时在这里更容易阅读 https://www.atlassian.com/git/tutorials/cherry-pick

我还要说,一旦完成 PR,请确保将默认分支合并或变基到原始分支(您从中挑选的地方)。这样,如果它导致任何合并冲突,您可以尽早解决它们。

【讨论】:

    【解决方案2】:

    如果您永远不想在 Development 中进行这些更改,您可以还原这两个特定更改,并将其合并到 Development 中:

    在您的本地仓库中:

    • 来自Release 分支

    • 新建一个分支(取个名字,我叫wip

    • 在此分支上,还原您要跳过的两个提交:

       git revert <hash of commit1>
       git revert <hash of commit2>
      
    • 将此分支推送到 devops :

       git push -u origin wip
      

    关于 DevOps:

    • 创建一个新的合并请求,要求将wip 合并到Development

    【讨论】:

      猜你喜欢
      • 2019-10-09
      • 2011-02-24
      • 2012-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多