7

我对 Git 比较陌生,我想知道这样做是否正确,以及是否有其他方法可以删除合并到主分支的功能分支。让我用一个例子来解释:

让我们假设我们正在处理三张票(错误/增强功能),并且每张票有三个功能分支,每个都从标签 v2.0.21 分支出来。在对每张工单进行开发工作并经过充分的测试后,我们将其合并到主分支并将此分支标记为 v2.0.22 并将其发布到生产环境。

在产品发布之后,假设我们发现其中一张票 (Ticket2) 失败,应该删除。这就是我的想法,我想知道这是否是删除与 Ticket2 关联的提交的好方法。

比如说,

  1. 从 v2.0.21 创建一个新分支
  2. 在这个新分支上合并 Ticket1 (Branch1) 和 Ticket3 (Branch3)
  3. 强制将新分支推送到 master。
  4. 标记master为V2.0.23
  5. 将代码从 v2.0.23 发布到生产环境。

我希望有人可以帮助我验证这种方法,并提出更好的方法来删除已经合并到 master 的功能分支。谢谢!

4

1 回答 1

10

如果您的合并创建了一个“合并提交”,由于这个原因,这通常是一个好主意,那么您可以使用git revert带有该分支的合并提交的提交 ID 的命令来反转来自特定功能分支的更改。

Git 文档包含有关如何恢复错误合并的详细说明,其中包含您可能会发现有用的更多信息。

于 2012-05-02T00:50:56.680 回答