使用版本控制进行家庭开发?
到目前为止,我一直在家开发自己的个人和学校项目,而没有使用任何forms的修订控制软件来处理我的变化和什么。
我的问题是, 使用版本控制应用程序 (如TortoiseSVN ) 为我自己做的个人项目 (甚至是学校项目)有多大的可行性 ?
为了“家庭项目”而不是仅仅进行手动备份,检查,提交更改和所有这些常规是否值得?
链接 :
- 乌龟SVN
- SvnServe服务器
完全。
也感谢http://blogs.embarcadero.com/nickhodges/2010/04/23/39416 :
- 有时候我们犯了愚蠢的错误。 有源控制安全网是必须的。
- 标记重要的里程碑。 即使在家庭开发中,您也可能需要将一组文件和修订标记为特定的软件版本。
- 你训练你的职业生涯。 把你的头脑与使用源代码控制相关的工作方法准备你的专业。
- 存储效率。 当前的源代码控制系统将修订版本存储为与之前版本的差异。 这意味着它是更有效的磁盘,因为整个文件不存储,但只有差异。
- 你有所有你的源代码树的历史。 您可以快速查看更改内容和更改时间。 比较来自不同版本的文件并轻松合并。
- 你可以分支实验。 如果你有一些实验,你可以创build一个分支(一个新的独立的开发线),并进行testing。 最后,如果你对结果感到满意,把它合并到HEAD(主要开发线)中。 您可以免费获得所有这些,无需创build副本,即使在进行实验时也能获得与使用源代码pipe理相同的好处。
这是完全值得的。
请注意,您不必设置完全成熟的SVN服务器。 您可以在本地文件系统中创build一个存储库,并使用file:// URL语法进行连接。 这意味着您不必经历设置SVN守护进程的麻烦(这对于单个用户项目来说可能是过度的)
你也可以看一下轻量级的选项,比如git,它可以在本地保存所有的工作文件,而不需要创build一个单独的仓库。 Git为您提供了更多的选项,让您可以设置源代码控制。
使用源代码控制也适用于备份目的。 如果您经常检查所有内容,那么您可以通过备份所有的存储库来备份所有源代码项目。 如果你有多台机器,那么你不必担心代码的最新版本在哪里 – 它在版本库服务器上。
我把整个硕士论文都保存在源代码控制之中 – 代码和论文本身 – 所以我是一个强有力的倡导者,而不仅仅是代码。
对于单个项目来说,主要的优势是可以自由地改变事物和进行实验,因为知道如果它不起作用,你总是可以恢复到以前的版本。 它可以让你隐式备份你的工作(只要确保你的svn回购至less在你的主要工作不同的硬盘上)
当然,这是值得的。 它使您能够尝试疯狂和疯狂的重构,如果不工作,就可以轻松退出。 如果/当你与一个团体更加协作时,它也为你build立了良好的习惯。
使用Subversion(至less)你甚至不需要有一个“服务器” – 一个简单的目录可以作为你的存储库,如果你使用“file://”types的URL访问它。 甚至还有一本免费的书,其中包含了您需要知道的一切:
我发现有一个SVN服务器设置是非常有帮助的,因为我发现自己通过修改和其他“抛弃”项目回去,因为我记得一些function或方法,我现在可以使用一些东西。 有了SVN服务器,我知道代码存储在家里,以后我可以把它拉起来。
修正控制是非常好的,因为它可以让你更具实验性,因为知道如果你的实验失败了,你就会有一些东西要回退。