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

小型实验室的版本控制系统?

  •  2
  • rlbond  · 技术社区  · 14 年前

    我是一个电气工程的研究生,我的实验室有很多关于超声波的项目。我们有很多代码可以执行模拟,但是现在我们的情况是任何给定的脚本都有大约5个不同的版本。此外,一个人可能会开发代码来模拟波传播,而另一个人则需要该代码来执行不同的模拟。这会导致代码在电子邮件中来回发送。

    我向我的顾问建议了版本控制,她说她喜欢它,但没有时间来管理一个VCS,所以它的设置方式必须尽可能少地需要维护。显然,我们不会向公众发布软件,所以内部结构是否非常规无关紧要。

    大多数实验室不是专业的编码人员,但我们都需要编写matlab代码以及其他一些东西。所以,我不希望用户对干净提交之类的东西这么好,所以每个人都有自己的“工作场所”或类似的东西是好的。但是说实话,我一次只对3个人使用版本控制,所以我不知道如何设置。

    所以我想问一下最好的方法是什么。我只使用了颠覆,但我想知道这是否是正确的选择。我们需要一个系统(按重要性排序,降序排列):

    • 几乎不需要维护
    • 易于使用和学习,因为不是每个人都使用版本控制
    • 有shell集成(我们都使用Windows XP)
    • 易于设置权限并为每个人提供自己的工作区
    • 易于设置和运行

    所以,(1)什么风投是最好的选择,(2)我们应该如何组织它。谢谢你的帮助。

    7 回复  |  直到 14 年前
        1
  •  3
  •   Rihan Meij    14 年前

    我们使用 subversion 并且喜欢它,因为它简单、易用、集成到shell环境中,并且不仅能够进行版本、代码,而且还能够提供规范文档PDF和我们拥有的其他资源。

    至于结构,尽量使用逻辑结构。简单点:)

        2
  •  2
  •   Vnuk    14 年前

    我看不出你为什么要从颠覆中看得更远。尽管,对于额外的小维护,您可以检查GitHub(因为它是托管解决方案,所以不必担心备份、服务器等),但也有托管的SubversionRepo。

    尤其是如果你已经熟悉它,那么你可以让其他人加快速度并获得额外的学分:)

        3
  •  1
  •   Jean    14 年前

    一旦完全安装,Subversion需要很少的维护,它的模型很容易理解,它集成在shell中,它支持工作正常的ACLs,并且它的设置有很好的文档记录。

    您可以在Web服务器中设置Subversion,并在需要时将其与Windows域集成以进行身份验证(否则,您必须添加/删除用户,更改SVN服务器上的密码)

    你也可以采用分布式VCS的方式,在没有服务器设置的托管解决方案中,但是要想让用户明白这一点比SVN要困难得多。更不用说先把它弄到头上。

    除非你有复杂的、快节奏的、并行的开发模型,否则我不会推荐DVC,我会坚持使用SVN。

        4
  •  1
  •   sergiom    14 年前

    我同意颠覆是一个很好的选择。 但你也可以考虑 mercurial :更容易,而且它还具有 tortoise 集成接口。

        5
  •  0
  •   Victor Hurdugaci    14 年前

    我推荐www.assembolla.com。他们提供付费订阅,但对于学术项目,你可以申请一个免费的专业帐户。

    我在我的学术项目中使用过它,并且100%地满意它的易维护性、准时性和简单性。

        6
  •  0
  •   Oliver    14 年前

    最简单的方法是使用 Subversion . 但是要使它以最简单的方式工作(在Windows下),您必须使用 TortoiseSVN .

    安装之后,它就可以在浏览器中正常工作了,只需单击鼠标右键即可使用。也许你们其中一个应该深入研究 whole documentation 必要时提供帮助。其他人都应该看看 Daily Usage Guide 第一次开始。

    你也应该关心你 structure your repository 你说什么?

        7
  •  0
  •   rodrigob    14 年前

    Subversion有太多与“始终在线+中央服务器”模型相关的限制。 我强烈建议使用分布式版本控制系统。

    根据我的经验,这三个主要的例子是Git,Mercurial,Bazaar。 Bazaar 是目前最容易使用和设置的。