5

这不是“我为什么要使用版本控制”的问题 :-)

到目前为止,我一直在我编写的每个项目的第一行代码中使用版本控制。然而昨天我提出了一个我找不到答案的问题(也许是一个愚蠢的问题):在软件开发过程中什么时候应该真正开始版本控制?它应该从第一行代码开始,就像我一生都在做的那样,还是应该从你真正拥有代码的可操作版本开始?换句话说:是否应该在您的软件的第一个版本之前使用版本控制?(我的意思是版本控制,当然不是源备份!)。

4

3 回答 3

2

无需版本控制的预开发;但是您需要的是某种形式的协作机制来跟踪规范和文档的更改。

一些团队在此阶段部署版本控制。就我个人而言,我在这里没有发现它的价值,wiki/trello 或类似的东西更有价值,更有意义;因为你正在跟踪很多抽象的想法。

一旦你开始编写代码——你应该开始版本控制过程;在部署之前的整个开发阶段,您将继续使用版本控制;这是您开始从中获得价值的地方。特别是如果您正在与他人一起发展。如果你是一个单独的开发者,版本控制可能看起来像是无用的额外工作;这是有争议的,但是当你在一个团队中工作时,这是必不可少的。

项目部署后;修订控制是关键强制性的。您根本无法承受没有它 - 版本控制为您在部署后承担的工作类型提供了很多好处。错误修复、自动化测试、部署——这些可以很容易地从您的版本控制系统中自动化。如果你在开发过程中没有使用版本控制;现在是部署它的最佳时机,因为您有可靠的代码库作为参考点。

如今,使用 mercurial/git 及其在线托管服务,版本控制非常简单,无需花费任何费用即可开始使用;好处远远超过任何缺点。

于 2012-10-17T10:10:41.720 回答
1

这个问题很抽象。所以,一个同样抽象的答案。

我认为您应该在特定项目开始增加价值时立即对它使用版本控制。

如果您可以区分两个阶段 - 概念证明/原型等,以及产品代码,我认为您应该将两者的代码库分开。您可以同时使用版本控制工具(首先是源备份,然后是真正的版本控制),只是避免将生产存储库与早期的东西混在一起。

于 2012-10-17T07:06:42.227 回答
0

如果您仅对代码使用版本控制,您可以问这个问题。
但理想情况下,版本控制应该可以帮助您重现构建,这意味着配置文件和其他设置可能与您的第一行代码一样重要。

参见例如“.classpath.project- 是否检查版本控制?

这是一种有助于协作的数据,因为其他开发人员将很快启动并运行(即能够构建您的程序)。

于 2012-10-17T07:02:00.997 回答