我是电气工程专业的研究生,我的实验室有各种与超声波有关的项目。我们有很多代码来执行模拟,但是现在我们的情况是任何给定的脚本都有~5个不同的版本。此外,一个人可能会开发代码来模拟波传播,而另一个人则需要该代码来执行不同的模拟。这导致代码通过电子邮件来回传输。
我向我的顾问建议了版本控制,她说她喜欢它,但没有时间来管理VCS,因此必须以尽可能少的维护方式进行设置。显然,我们不会向公众发布软件,因此内部结构是否非常规并不重要。
大多数实验室都不是专业编码员,但我们都需要编写MATLAB代码以及其他一些东西。所以,我不希望用户对清洁提交等都这么好,所以每个人都有自己的“工作场所”或类似的东西。但说实话,我一次只对3个人使用版本控制,所以我不知道如何设置它。
所以我想问最好的方法是什么。我只使用过Subversion,但我想知道这是不是正确的选择。我们需要一个系统(按重要性排序,降序排序):
所以,(1)什么样的VCS是最好的选择,(2)我们应该如何构建它。谢谢你的帮助。
答案 0 :(得分:3)
我们使用subversion并喜欢它,因为它简单,易于使用,集成到shell环境中,不仅包括版本,代码,还包括规范文档pdf和我们拥有的其他资源。
至于构建它,尽量使用你的逻辑结构。保持简单:)
答案 1 :(得分:2)
我认为没有理由从Subversion进一步了解。虽然,为了额外的维护,你可以检查GitHub(因为它是托管解决方案,所以不用担心备份,服务器等),但也有托管的Subversion回购。
特别是如果您已经熟悉它,那么您可以让其他人加快速度并获得额外的信用:)
答案 2 :(得分:1)
一旦完全设置subversion应该只需要很少的维护,它的模型很容易理解,它集成在shell中,它支持ACL工作得很好,并且它的设置有很好的文档。
您可以在网络服务器中设置subversion,如果需要,可以将其与Windows域集成以进行身份验证(否则您必须添加/删除用户,更改svn服务器上的密码)
你也可以采用分布式vcs方式,托管解决方案没有服务器设置,但要想让你的用户考虑到这一点,那将比svn更难。更不用说首先将它放在自己的头上。
除非你有复杂,快节奏的并行开发模型,否则我不推荐dvcs,我会坚持使用SVN
答案 3 :(得分:1)
答案 4 :(得分:0)
我会推荐www.assembla.com。他们提供付费订阅,但对于学术项目,您可以申请免费的专业帐户。
我已将它用于我的学术项目,并且因易于维护,正常运行和简单而100%满意
答案 5 :(得分:0)
最简单的方法是使用Subversion。但是为了让它以最简单的方式工作(在Windows下),你绝对应该使用TortoiseSVN。
安装后,它在浏览器中正常工作,只需右键单击一次使用。也许你的一个人应该深入了解whole documentation以便在需要时提供帮助。所有其他人应该首先看看Daily Usage Guide。
另外你应该注意你structure your repository的方式!
答案 6 :(得分:0)
Subversion有太多与“永远在线+中央服务器”模式相关的限制。 我强烈建议使用分布式版本控制系统。
来自三个主要的Git,Mercurial,Bazaar;根据我的经验Bazaar是迄今为止最容易使用和设置的。{/ p>