如何防止bug通过未来的新功能传播

问题描述 投票:0回答:1

我们在实现Git作为版本控制时遇到了问题。我们希望尽快实施完整的Git Flow

让我们想象一下这种情况(分支:开发和掌握):

  • 玛丽亚正在研究一项新功能,并在一天结束时将其推向了开发分支。
  • 第二天,鲍勃将pull所有改变成Develop并开始研究新功能。
  • 在一天结束时,鲍勃也将他的变化推向了Develop

但是,之后,他们发现玛丽亚的第一次推动有一个错误,他们无法将其推向生产(硕士)。因此Bob的代码现在被Maria的Bug“感染”了。

如何解决这个甚至阻止这种事情?

git git-flow
1个回答
3
投票

你正在考虑版本控制都错了。没有任何东西被“感染”,在它被运往​​生产之前,develop上就存在一个错误。错误不会“通过未来版本传播”,它们只是存在直到您修复它们。

要么创建一个修复并将其合并到develop中,要么为Maria的合并创建一个revert,并将其合并到develop中。无论哪种方式,修复是简单地修复develop并继续前进。 “鲍勃的代码”没有被“感染”,开发分支只是被一个错误阻止(希望简短)。

你不能阻止这种事情。错误将出现在代码中,这是生活中的事实。你碰巧在错误发布之前捕获了这个错误,这是一件好事,它的Git表现得像预期的那样。您只需编写修复程序,添加回归测试并继续。

如果您正在关注Git Flow,那么问题就不那么严重了:Maria和Bob的工作都将进入发布版本,在发布之前将进行一轮测试和错误修复。如果你打算将Bob的更改直接合并到master中,并且这是一个问题,他们通过等待一个可靠的发布分支来阻止它们,那么它们应该从一开始就被认为是一个Hotfix。

© www.soinside.com 2019 - 2024. All rights reserved.