【问题标题】:Revert merged changes from master branch从主分支恢复合并的更改
【发布时间】:2020-03-02 14:49:51
【问题描述】:

我创建了一个功能分支(Feature1)并进行了处理。拉取请求合并到远程主分支(没有快进选项 - azure devops)。之后,其他开发人员在 master 分支上完成了一些其他签入。

我创建了另一个功能分支 (Feature2) 并着手处理它。再次拉取请求合并到主分支。

现在我想从 master 恢复 Feature1 和 Feature2 分支更改。我没有删除 Feature1 和 Feature2 分支。

Feature1 和 Feature2 分支应该合并到另一个分支而不是 master。

现在我应该如何在不影响其他开发人员签入的情况下从 master 中删除 Feature 1 和 Feature2 更改?

【问题讨论】:

标签: git azure-devops


【解决方案1】:

由于您要恢复提交的是主分支,因此您最好的选择是git revert。例如,如果您尝试通过交互式 rebase 从 master 的历史记录中完全删除提交,则删除提交之后的提交 ID 将会更改。请记住,您不想更改 master 中的提交 ID,因为其他开发人员可能正在处理具有这些提交 ID 的功能分支,当他们稍后合并到 master 时,他们可能会遇到合并冲突的问题。

您可以在从 master 创建的新功能分支上找到功能分支提交并将其还原,如下所示,然后向 master 发出拉取请求。

git revert feature1Commit1..feature1Commitn
git revert feature2Commit1..feature2Commitm

这实际上会创建新的提交来恢复您的更改。因此,您的 feature1 和 feature2 提交 ID 保留在 master 中,但您所做的更改实际上将在创建的新提交 ID 中恢复。

【讨论】:

  • 我使用了 azrue pull request revert 选项。这很简单。
猜你喜欢
  • 2021-10-24
  • 2011-06-21
  • 2017-03-15
  • 1970-01-01
  • 2015-11-15
  • 2016-07-11
  • 2022-08-18
  • 2010-11-22
  • 2012-06-02
相关资源
最近更新 更多