如何管理个人项目

col*_*rco 11 version-control project-management

我是一名学生,我总是自己开发项目,主要是使用Ruby On Rails.

我注意到,即使一个简单的项目可能会变得复杂,如果你不能轻松拯救已删除的代码并从一个版本传递到另一个.Time Machine备份还不够.

我想使用版本控制系统,但它们似乎不适合单用户项目.我错了吗?如果是这样,您使用什么政策和软件来管理代码?

The*_*TXI 15

如果您是单个用户,则没有任何内容表明您无法使用标准版本控制系统.这样做肯定会让您免于遇到一些更痛苦的问题,例如合并同时更改的文件以及多个开发人员产生的其他冲突.

在此基础上,你可以看看到任何版本控制系统(我相信Subversion是远远地占据了最流行的现在),并挑选出一个将最匹配您的需求,或者有你最熟悉的界面.


thS*_*oft 10

分布式版本控制系统适合您:寻找Bazaar,Git或Mercurial.它们是轻量级的,本地提交很容易,您可以随时恢复到以前的版本.通过GitHub等托管服务提供商,您可以发布项目,免费获得备份,您可以轻松地与其他潜在贡献者共享项目.协作很容易,因为合并您的更改也是一种轻量级操作.


and*_*vin 9

在您自己的项目中使用版本控制软件和其他项目软件绝对是个好主意.这些工具不仅适用于团队合作,还可以让团队合作.除了跟踪项目变更的明显原因之外,最好使用SCM工具,以便熟悉行业使用的内容.

颠覆是普遍的,并且是一个很好的选择,因为它成功地取代了早期和旧版的CVS工具.它依赖于存储代码的中央存储库,并且可以备份:我将SVN用于个人项目和小型团队项目,我已经备份到CD.如果您的项目是opensource,那么像sourceforge这样的网站支持svn,您可以使用它来托管.

然而,正如其他一些海报所表明的那样,个人项目可能会从分布式系统中获益更多:git越来越受欢迎,因为git-hub已经上线并且移植工作正在取得成功.http://git-scm.com/这些工具很可能在未来几年越来越受欢迎,因为它们允许更多的人参与相同的代码.一个中央存储库的想法很轻松,使每个开发人员能够对不同设计进行版本跟踪,并仅向社区返回他们完成的版本.

将SCM用于所有个人或非个人项目的好处之一是可以设置单独的服务器来测试代码的版本.对最新版本代码进行自动测试(使用Continuous Integration Server或类似代码)可以提高您编写的软件的质量.

一些经验丰富的软件开发人员谈论他们经常进行增量更改检查的节奏.养成做出小改动并完成检查的习惯:进入小组工作是一种很好的做法.


Col*_*ard 6

我会推荐Subversion.它是免费且相对简单的,稍微了解它可能在将来很有用.它是跨平台的,也可以在各种托管系统上使用.

另见:https://stackoverflow.com/questions/250984/do-i-really-need-version-control

和:使用版本控制进行家庭开发?