StackOverflow上还有另一个线程,用于处理对源代码控制进行更改的频率.我想把它放在使用像git或mercurial这样的DVCS的环境中.
你多久和多久犯下一次?
您是否只在正确构建时提交更改?
您多长时间以及何时推送更改(或提交拉取请求或类似内容)?
您如何认可开发复杂功能/进行复杂的重构需要触及许多地方?是"私人提交",不会建立好吗?完成后,您是否也将它们推送到主存储库,或者在推送之前将所有更改捆绑到单个变更集中?
Von*_*onC 14
这取决于您正在研究的分支("开发线")的性质.
那些DVCS(git或mercurial)的主要优点是你可以轻松:
所以:
1 /你多久犯下一次?
2 /您是否只在正确构建时提交更改?
在私有分支上尽可能多的时间(例如,如果它编译).
仅在单元测试通过时才提交的做法是好的,但应该仅适用于"官方"(如"可以发布或'推送'")分支:在您的私人分支中,如果您合并了gazillon次需要.
唯一的事情是:做一些合并 - 交互式重组你的私人分支上的许多提交,然后在主开发分支上重放它们,你可以在那里通过一些测试.
3 /您推送更改的频率和时间(或提交拉取请求或类似内容)?
发布是另一个问题,应该用"清晰"的历史(连贯的合并,代表编译和通过一些测试的内容)来完成.
您发布的分支应该是永远不会重写历史记录的分支.
出版物的速度取决于远程分支的性质以及拉动该分支的人口的性质.例如,如果是另一支球队,你可以经常推进.如果它适用于系统范围的集成测试团队,那么您的推动次数会减少很多.
4 /如何开发复杂功能/进行复杂的重构,需要触及许多地方?是"私人提交",不会建立好吗?完成后,您是否也将它们推送到主存储库,或者在推送之前将所有更改捆绑到单个变更集中?
请参阅1.和2:在您自己的专用分支中首先进行补丁,然后在官方(已发布)补丁分支上重新组织您的提交.如果修补程序涉及多个不同的"活动"(或错误修复),则单个提交并不总是最佳选择.
我会经常更改我的DVCS(我自己的主题或任务分支),这样我不仅可以用它来"提供更改",还可以在我工作的时候帮助我:比如"为什么这样做有用5"几分钟前,它不再工作了?" 如果你经常提交,你可以运行差异.
此外,我发现非常非常好的一种技术是使用它来"自我记录重构".让我解释一下:如果你要在一个主题分支上做一个大的重构,然后整体检查变化(修改了一组很好的文件),你可能会迷路.但是,假设您检查每个"中间步骤"并用注释记录它,那么您正在创建某种关于您自己更改的"电影",以帮助描述您所做的事情!非常适合评论者.
| 归档时间: |
|
| 查看次数: |
5624 次 |
| 最近记录: |