我是一名应用数学家,最近我加入了一个涉及为我们的科学应用开发生产代码的项目.代码库不小,它作为Web应用程序的一部分进行部署.
当我加入时,代码奇迹般地维护而没有修订控制系统.服务器中有一个中央文件夹,研究人员在需要使用代码时会从中复制.在这个根目录中有一组目录,其中包含不同版本的代码,因此人们可以开始处理他们找到的最新版本,并创建一个带有修改版本的新版本.
我创建了一个Mercurial存储库,为其添加了所有代码版本,并说服每个人使用它.然而,自从转向Mercurial以来,我们几乎没有需要升级版本号,即使使用困难也可以hg copy
让我们保留修订历史记录.
在这里,我需要您就维护此代码库的最佳实践提出建议.在RCS下,在repo中保留不同版本的文件夹是否有意义?如果我们在repo中保留一份代码副本,那么跟踪版本的最常用方法是什么?自述文件?我们是否应该在repo指定版本之外保留代码的快照?保持原样是否有意义?你用什么策略?
我们的团队是一群科学家,没有人有如何维护这样一个回购的经验,所以我对通常做的事感兴趣.
如果要使用版本控制系统,请忘记这些版本文件夹.完全地.Mercurial将为您做到这一点,存储库是项目所有文件的完整历史记录.
跟踪版本号的常用方法是使用标记.您将具有版本号的标记分配给变更集.
为了帮助您,作为版本控制中的"入门指南",我建议使用本书:版本控制示例.它是免费的,它从头开始,它讨论CVCS,DVCS,基础知识,存储库是什么,基本命令等.它还有一些有趣的类比,如3D文件系统:目录x文件x时间.这本书很有趣,也很容易理解,我强烈推荐它.
我还推荐一些像TortoiseHg这样的GUI软件.在日常使用中,我大部分时间都在控制台中,但是当你还不知道所有命令时,GUI在开始时非常方便.最好的部分是图表,您可以直观地了解正在发生的事情.
归档时间: |
|
查看次数: |
144 次 |
最近记录: |