【发布时间】:2010-05-29 17:18:17
【问题描述】:
对大规模重构进行版本控制的最佳方法是什么?
我的典型编程风格(实际上也是编写文档)是尽快得到一些东西,然后重构它。通常,重构与添加其他功能同时进行。除了对类和函数进行标准重构之外,函数可能会从一个文件移动到另一个文件,文件会被拆分和合并或只是重新排序。
目前,我作为一个单独的用户使用版本控制,所以在这个阶段与其他开发人员交互没有问题。不过,版本控制给了我两个方面:
- 备份和“以防万一”恢复到良好版本的能力。
- 回顾历史可以告诉我项目的进展情况和想法的流动。
我正在使用 TortoiseHg 在 Windows 上使用 mercurial,它可以选择提交的帅哥。我提到这一点的原因是我想就重构中的提交粒度提出建议。我应该将重构与提交时添加的功能分开吗?
我查看了Refactoring and Source Control: How To? 的答案,但它没有回答我的问题。该问题侧重于与团队的协作。这个专注于拥有未来可以理解的历史(假设我不会像某些 VCS 允许的那样重写历史)。
【问题讨论】:
标签: version-control refactoring