3

我开始学习 Git,到目前为止,它很棒。我只是在一个领域感到困惑,这可能只是一个误解。

假设 John 在“john”目录中工作,而 Bob 在“bob”目录中工作。

如果 John 的代码不是我们想要的“john”目录的最后一项,并且 Bob 从 dev 分支中提取,Bob 将得到 John 的所有“坏”代码,对吗?

因此,Bob 对“bob”目录应用了一个简单的修复并推送到生产分支。John 在“john”目录下的坏代码不是通过 Bob 的 push 潜入生产分支吗?

这甚至会发生吗?这是如何避免的?

谢谢你们!

4

2 回答 2

1

推送 dev -> production 和直接向生产分支提交修复是有区别的。后者对鲍勃来说是安全的。

知道代码是否安全的唯一方法是在推送之前对其进行测试。这可能是 QA 团队、回归/单元测试等。

于 2012-05-03T19:16:47.360 回答
0

您通常不会将“损坏的代码”提交到develop, 或master(这是常用名称)。该develop分支通常用于“应该工作”的代码,master用于“稳定代码”(类似于trunksvn)。如果要创建新内容,请为其创建一个新分支,例如feature/myFeature. 现在每个人都知道,这段代码可能不完整,也可能不完整,通常会避免将其合并到自己的分支中。完成后(“它应该可以工作”),将其合并回develop.

但是,即使您的情况发生了,git 也会识别出这个坏代码已经是 的一部分develop,并且不会再次应用它。

于 2012-05-03T19:15:38.760 回答