我们在实现Git作为版本控制时遇到了问题。我们希望尽快实施完整的Git Flow。
让我们想象一下这种情况(分支:开发和掌握):
pull
所有改变成Develop
并开始研究新功能。Develop
。但是,之后,他们发现玛丽亚的第一次推动有一个错误,他们无法将其推向生产(硕士)。因此Bob的代码现在被Maria的Bug“感染”了。
如何解决这个甚至阻止这种事情?
你正在考虑版本控制都错了。没有任何东西被“感染”,在它被运往生产之前,develop
上就存在一个错误。错误不会“通过未来版本传播”,它们只是存在直到您修复它们。
要么创建一个修复并将其合并到develop
中,要么为Maria的合并创建一个revert
,并将其合并到develop
中。无论哪种方式,修复是简单地修复develop
并继续前进。 “鲍勃的代码”没有被“感染”,开发分支只是被一个错误阻止(希望简短)。
你不能阻止这种事情。错误将出现在代码中,这是生活中的事实。你碰巧在错误发布之前捕获了这个错误,这是一件好事,它的Git表现得像预期的那样。您只需编写修复程序,添加回归测试并继续。
如果您正在关注Git Flow,那么问题就不那么严重了:Maria和Bob的工作都将进入发布版本,在发布之前将进行一轮测试和错误修复。如果你打算将Bob的更改直接合并到master
中,并且这是一个问题,他们通过等待一个可靠的发布分支来阻止它们,那么它们应该从一开始就被认为是一个Hotfix。