使用 GIT 进行源代码控制时,何时应在 TDD 中提交更改?
When should changes be committed in TDD when using GIT for source control?
我们正在讨论如何在 SAFE for SCRUM 中使用 TDD 构建我们的开发工作流程。尽管事情结构良好,但我不清楚何时应该在本地提交更改以及何时推送它们。
是否应该每天都这样做/在这段时间内是否可以在本地进行小型提交,是否应该将它们向上推?标准做法是什么?
框架对 "when" 和 "how often" 有何规定?
考虑在 GIT 内使用开发和功能分支。
您的 master 分支应始终包含该软件的工作可部署版本。所有 'development' 都可以在开发分支上完成,只有在准备好发布时才合并到主分支中。
- 开发人员创建自己的功能分支,并应尽可能经常(定期)查看此分支
- 当每个功能完成后,将功能分支合并到 Develop
- 当你有足够的功能时,合并到 Master 中发布
TDD 的使用不应影响您的签入策略。总体目标是始终有一个工作构建。
如前所述,我支持开发和功能分支。 SAFE 要求提交的粒度是每天一次。这意味着服务器端分支。还要求这些提交具有 "working code" 。在 TDD 下,这意味着测试已通过。
所以政策是:
(1) 至少在 sprint 结束前发生合并的开发分支(3w AFAIK)
(2) 相关开发人员在一天结束时提交 工作代码 的功能分支
(3) 每次提交都必须是工作代码
(4)本地每个人都可以保留自己的历史,例如具有 non-working-code 的不同分支,但应该向上推送提交。
点(1)和(2)实际上在外管局是开放的,但(3)和(4)点不是。
请记住,TDD 规定测试应该在代码开发之前编写,但这并不总是可能的,并且在 scrum 下它们可以被重申,但总是在代码进化之前。
我们正在讨论如何在 SAFE for SCRUM 中使用 TDD 构建我们的开发工作流程。尽管事情结构良好,但我不清楚何时应该在本地提交更改以及何时推送它们。
是否应该每天都这样做/在这段时间内是否可以在本地进行小型提交,是否应该将它们向上推?标准做法是什么?
框架对 "when" 和 "how often" 有何规定?
考虑在 GIT 内使用开发和功能分支。
您的 master 分支应始终包含该软件的工作可部署版本。所有 'development' 都可以在开发分支上完成,只有在准备好发布时才合并到主分支中。
- 开发人员创建自己的功能分支,并应尽可能经常(定期)查看此分支
- 当每个功能完成后,将功能分支合并到 Develop
- 当你有足够的功能时,合并到 Master 中发布
TDD 的使用不应影响您的签入策略。总体目标是始终有一个工作构建。
如前所述,我支持开发和功能分支。 SAFE 要求提交的粒度是每天一次。这意味着服务器端分支。还要求这些提交具有 "working code" 。在 TDD 下,这意味着测试已通过。
所以政策是:
(1) 至少在 sprint 结束前发生合并的开发分支(3w AFAIK)
(2) 相关开发人员在一天结束时提交 工作代码 的功能分支
(3) 每次提交都必须是工作代码
(4)本地每个人都可以保留自己的历史,例如具有 non-working-code 的不同分支,但应该向上推送提交。
点(1)和(2)实际上在外管局是开放的,但(3)和(4)点不是。
请记住,TDD 规定测试应该在代码开发之前编写,但这并不总是可能的,并且在 scrum 下它们可以被重申,但总是在代码进化之前。