学术研究小组的来源控制?

时间:2008-12-15 20:07:05

标签: version-control

与大多数软件开发组织相比,我们在大学系内的小型研究小组由一名教授和一批毕业生和本科生组成,很难保留研究本身之外的任何工作知识。我们的背景各不相同,很少涉及很多计算机科学背景。 (我从未参加过与计算机相关的课程。)

然而,我们需要使用我们的自制软件进行规划和分析,区分当前最佳的生产版本和开发版本,防止不适当的变化,能够回忆起去年的版本等等。这将很难让每个学生加快颠覆速度,学会小心存储库,理解分支/标签,或者我们组织它。 (次要问题:如何让某人在svn上加速?)

也许其中一个分布式版本控制系统更适合,或者除了svn之外的集中式系统是明智的,或者如果不是,我们应该遵循易于传播的subversion实践吗?

4 个答案:

答案 0 :(得分:2)

我认为Subversion应该在你所描述的学术环境中为你提供有用和容易之间的正确平衡。我一直在考虑类似的问题(我是物理学毕业生; I actually posted about something similar before),我现在的建议是:

  • 设置集中版本控制系统,最好是SVN。随着毕业生和本科生一直出现和消失,我会说分布式版本控制可能会导致人们正在“本地”消失与他们一起的修订。集中版本控制将为您提供“One True Revision”。

  • 让每个人都尝试一个小型测试存储库,这样他们就可以了解它。如果你搜索SO,你会发现很多问题&答案指的是很好的教程。

  • 也许考虑租用托管的SVN存储库,它可以省去在本地网络上设置自己的麻烦。 (我认识的一些大学对网络安全有非常严格的规定,因此获得自己的服务器有时是一个漫长而复杂的官僚程序。)

  • 告诉您的学生:在签入之前代码不存在!我猜他们很快就会发现VC的优点,一旦他们必须做他们的第一次“恢复”/“回滚”:)

  • 至于让学生适应Svn:请参阅Subversion书中的Software Carpentry Course on Version Control和“入门”一章。你可能还想让一个更有经验的人和一个新学生坐一两次(似乎是浪费时间,但要回报双倍!)。

但请注意,我对此没有太多实际经验。如果可以,我会非常高兴,例如,稍后回复一下,告诉我们您的经历!

答案 1 :(得分:1)

我不确定“让所有人加快SVN的速度”很难。如果他们理解版本控制的概念,那么这是最简单的实现之一。

它当然有很多事情要做,但你提到的其他人也会工作,但最初可能更难买到。 (易用性)

我认为你会发现更难的是定义一个你在使用源存储库时都应该使用的策略。一旦定义了,就可以实现版本控制系统。 (I.E.开发人员有自己的分支,然后在测试后升级到主线/主干,或者一切都进入主干等)

答案 2 :(得分:0)

即使你从不使用分支和合并,svn也很有价值。如果您使用的是Windows,VisualSVN服务器应用程序很容易设置,并且易于使用安全性。尝试一下。

答案 3 :(得分:0)

Subversion和TortoiseSVN使用Subversion比使用Windows资源管理器本身更困难。其他操作系统有各种各样的界面,使颠覆非常容易使用。