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


138

到目前为止,我一直在家里开发我的个人和学校项目,而没有使用任何形式的版本控制软件来处理我的更改等。

我的问题是,将版本控制应用程序(例如TortoiseSVN用于我为自己(甚至是学校项目)所做的个人项目有多可行

仅仅为了“家庭项目”而不是仅仅进行手动备份,是否值得进行麻烦的签入,提交更改以及所有常规操作?

友情链接


2
使用源代码管理比进行手动备份要容易得多!也许它更容易学习如何使手动备份比它要学习如何使用源代码控制。
yfeldblum

1
我可以推荐VisualSVN,非常易于使用。而他们的Subversion服务器是免费的:)(visualsvn.com
Svish

使用托管服务器代替,您将获得零维护+备份。我使用Unfuddle:stackoverflow.com/questions/430742/…–
ripper234

Answers:


191

完全可以

还要感谢http://blogs.embarcadero.com/nickhodges/2010/04/23/39416

  • 有时我们会犯一些愚蠢的错误。必须有一个源控制安全网。
  • 标记重要的里程碑。即使在家庭开发中,您可能也希望将一组文件和修订标记为特定的软件版本。
  • 您为职业生涯而训练。将与使用源代码控制相关的工作方法放在头脑中,可以为您做好专业的准备。
  • 存储效率。当前的源控制系统将修订存储为与先前修订的增量差异。这意味着磁盘效率更高,因为不存储整个文件,而仅存储差异。
  • 您具有所有源代码树的历史记录。您可以快速查看更改的内容和更改的时间。比较不同版本的文件并轻松合并。
  • 您可以分支进行实验。如果您打算进行一些实验,则可以创建一个分支(新的独立开发线)并进行测试。最后,如果您对结果满意,请将其合并到HEAD(主开发线)中。您可以免费获得所有这些功能,而无需创建副本,即使在进行实验时也可以使用源代码控制获得相同的好处。

13
只需添加一件事:如果版本控制系统位于远程计算机上,它可以为您的工作提供简单的在线备份。
NotMe

我完全同意。每当您必须利用这些功能中的一个功能时,您就已经获得了使用源代码控制的少量费用。
克里斯·法默

项目符号第4点不适用于git。git已针对合并性能进行了优化,并且存储差异对于此目标无益。如今,大多数情况下都假设您有足够的磁盘空间来存储源代码。但是,所有其他要点都是使用任何源代码管理的原因,而git当然可以满足所有这些要求。
SingleNegationElimination

我再次推荐git,尤其是对于点2、5和6。git具有用于标记,分支,合并等的非常漂亮的界面,并且某些图形工具(例如qgit或gitk)使您很容易查看所有分支适合在一起..用3个命令将当前(未版本控制)的工作目录转换为git目录也是一件容易的事:git init,git add。,git commit
David Claridge

如果您的个人项目足够大,可以解决第4点(存储效率)的问题,那么您绝对需要源代码控制!
蒂洪·耶维斯

31

完全值得。

请注意,您也不必设置完整的SVN服务器。您可以仅在本地文件系统中创建存储库,并使用file:// URL语法进行连接。这意味着您不必费心设置SVN守护程序(对于单个用户项目而言,这可能是过大的选择)

您还可以查看更轻量的选项,例如git,这些选项可以将所有工作文件保留在本地,而不必创建单独的存储库。Git还为您提供了更多有关如何在轨道上设置源代码控制的选项。


1
我最近尝试了git,因为我关注的一个项目使用了它。一看到它的简单性和快速性,我就立即将git用于个人和工作项目。强烈推荐。
Dave Sherohman

8

使用源代码控制也可以用于备份。如果您总是检查所有内容,则可以通过备份所有存储库来备份所有源代码项目。如果您有多台计算机,则不必担心最新版本的代码实际在哪里-它位于存储库服务器上。


6

我将整个硕士论文(包括代码和论文本身)置于源代码控制之下,因此我坚决主张做到这一点,而不仅仅是代码。

对于单个项目,主要优点是可以自由地进行更改和进行实验,并且知道如果不起作用,您始终可以还原到以前的版本。而且它为您提供了工作的隐式备份(只需确保您的svn存储库至少与主工作区在不同的硬盘上)


5

绝对是值得的。它使您能够尝试疯狂和疯狂的重构,然后在它们不起作用时轻松退出。如果/当您与团队合作时,它也会养成良好的习惯。

使用Subversion(至少),您甚至不需要一个“服务器”-如果使用“ file://”类型的url访问它,则可以将一个简单的目录用作您的存储库。甚至还有一本免费的书,其中包含入门所需的几乎所有内容:

http://svnbook.red-bean.com/nightly/en/index.html


4

我发现安装SVN服务器非常有帮助,因为我发现自己回过头来进行修订和其他“废弃”项目,因为我记得现在可以使用的某些功能或做某事的方式。有了SVN服务器,我知道代码存储在家里,以后可以将其提取。


4

修订控制之所以出色,是因为它可以让您更具实验性,因为知道实验失败了,您可以依靠一些东西。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.