代码之家  ›  专栏  ›  技术社区  ›  DarenW

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

  •  3
  • DarenW  · 技术社区  · 17 年前

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

    然而,我们需要开发我们的自制软件进行规划和分析,区分当前最佳的生产版本和开发版本,防止不合理的更改,能够召回去年的版本等。很难让每个学生都快速掌握subversion,并学会小心存储库,理解分支/标签或我们如何组织它。(次要问题:如何让别人快速掌握svn?)

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

    4 回复  |  直到 17 年前
        1
  •  2
  •   Community Mohan Dere    9 年前

    我想说,在你所描述的学术环境中,Subversion应该在有用性和易用性之间取得适当的平衡。我一直在思考类似的问题(我是一名物理学毕业生; I actually posted about something similar before ),我目前的建议是:

    • 建立一个集中式版本控制系统,最好是SVN。随着毕业生和本科生不断出现和消失,我想说分布式版本控制很可能会导致人们正在“本地”进行的修订消失 和他们在一起 集中式版本控制将为您提供“一个真正的修订版”。

    • 让每个人都尝试一个小型测试库,这样他们就可以掌握它的窍门。如果你在so周围搜索,你会发现很多问题;答案指的是好的教程。

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

    • 告诉你的学生:代码只有在签入后才存在!我想,一旦他们必须进行第一次“恢复”/“回滚”,他们很快就会发现风险投资的优势:)

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

    不过,请注意,我对此没有太多实际经验。所以,如果你能,例如,过一段时间再发回来告诉我们你的经历,我会很高兴的!

        2
  •  1
  •   Tim    17 年前

    我不确定“让每个人都了解SVN”是否困难。如果他们理解版本控制的概念,这是最简单的实现之一。

    它当然有很多优点,但你提到的其他方法也会奏效,尽管最初可能更难被接受。(易用性)

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

        3
  •  0
  •   Chris Farmer Marcelo Cantos    17 年前

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

        4
  •  0
  •   RS Conley    17 年前

    Subversion和TortoiseSVN使得使用Subversion并不比使用Windows资源管理器本身更困难。其他操作系统有各种各样的接口,使subversion非常易于使用。