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

让我们假设我们正在处理三张票(错误/增强),并且有三个功能分支,每张票一个,每个分支都从 Tag v2.0.21 分支出来。在每张票上完成开发工作并经过充分测试后,我们将其 merge 到 master 分支并将该分支标记为 v2.0.22 并将其发布到生产中。

在正式发布之后,假设我们发现其中一张票 (Ticket2) 出现故障,应该将其删除。这就是我的想法,我想知道这是否是删除与 Ticket2 相关的提交的好方法。

就像说,

  • 从 v2.0.21 创建一个新分支
  • 在这个新分支上 merge Ticket1 (Branch1) 和 Ticket3 (Branch3)
  • 强制将新分支推送到 master。
  • Tag master as V2.0.23
  • 将代码从 v2.0.23 发布到生产环境。

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

    最佳答案

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

    Git 文档包含有关 how to revert a faulty merge 的详细说明,其中包含您可能会发现有用的更多信息。

    关于git - 我如何 "back out"在 Git 中 merge 一个功能分支?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10406315/

    10-16 03:00