这不是“我为什么要使用版本控制”的问题:-)
到目前为止,我总是使用我编写的每个项目的第一行代码进行版本控制。然而昨天我想出了一个问题(也许是一个愚蠢的问题),我找不到答案:在软件开发过程中,版本控制何时才真正开始?它应该从第一行代码开始,就像我一直在做的那样,或者它应该在你真正拥有代码的可操作版本时开始吗?换句话说:应该在软件的第一个版本之前使用版本控制吗? (我的意思是版本控制,当然不是源备份!)。
答案 0 :(得分:2)
预开发您不需要版本控制;但您需要的是某种形式的协作机制,以跟踪规范和文档的变化。
有些团队在此阶段部署版本控制。就个人而言,我没有在这里找到它的价值,wiki / trello或类似物更有价值,更有意义;因为你正在追踪很多抽象的想法。
一旦开始编写代码 - 就应该开始版本控制过程;在部署之前的整个开发阶段,您继续使用版本控制;这是你开始从中获取 value 的地方。特别是如果你和别人一起开发。如果您是独立开发人员,版本控制似乎是额外的工作,没有用;这是值得商榷的,但是当你在团队中工作时,必不可少。
项目部署完成后;版本控制严重和强制。您根本无法承受它 - 版本控制为您在部署后执行的工作类型提供了很多好处。错误修正,自动化测试,部署 - 这些可以通过版本控制系统轻松实现自动化。如果您在开发期间未使用版本控制;现在是部署它的最佳时机,因为您有一个可靠的代码库作为参考点。
目前,使用mercurial / git及其在线托管服务,版本控制非常简单,开始使用它并不需要任何费用;而且好处远远超过任何缺点。
答案 1 :(得分:1)
问题很抽象。所以,同样抽象的答案。
我认为一旦开始增加价值,就应该对特定项目使用版本控制。
如果您可以区分两个阶段 - 概念验证/原型等,以及产品代码,我认为您应该将两者的代码库分开。您可以使用版本控制工具(首先是源备份,然后是实际版本控制),只是避免使用早期的东西混淆生产存储库。
答案 2 :(得分:0)
如果您仅为代码使用版本控制,则可以提出该问题 但理想情况下,版本控制应该可以帮助您重现构建,这意味着配置文件和其他设置可以与第一行代码一样重要。
请参阅“.classpath
and .project
- check into version control or not?。
这是一种便于协作的数据,因为其他开发人员将很快启动并运行(即能够构建您的程序)。