我当然不是SCM工具的试验用户,尽管我确信它们的用处。
我在以前的工作中使用了一些晦涩的商业工具,在当前的工作中使用了Perforce,并为我的小个人项目使用了TortoiseSVN,但是我不喜欢到处都有很多.svn文件夹,进行搜索,备份等等。难的。
然后我发现了分布式SCM的兴趣,我选择了看似更简单(比git)的Mercurial方式,但仍然满足我的个人和个人需求。我正在学习正确使用它的过程,已经阅读了部分Wiki,并且正坐在一本优秀的PDF书中间。
我经常在Mercurial working practices中看到“重复使用”,“不要犹豫在本地使用多棵树。Mercurial使此操作快速而轻巧”。和“为您使用的每个功能创建一个新树。”。
这些都是有趣且明智的建议,但是对于集中式SCM来说,它们使我的一些小习惯变得有些不适。在这里,我们拥有一个“神圣的”中央存储库,在该存储库中,分支机构经过精心计划(并由管理员处理),变更列表必须由(高级)同行和不得破坏构建等。:-)开始在新分支上工作需要花费一些时间...
鉴于上述,我有两个问题:
我尚未在阅读 Material 中看到这些问题,因此我希望这将成为一个有用的话题。
最佳答案
你提出了一些好点!
没错,当IDE和其他工具依赖于绝对路径时,可能很难管理许多克隆。始终可以使用配置文件中的相对路径来解决其中的一部分-无论使用哪种版本控制系统,确保源 checkout 都可以从任何位置进行编译本身就是一个好目标。
但是,当您不能或不想打扰几个克隆时,请注意a single clone can cope with multiple branches。 “hgbook”强调了许多克隆,因为这是一种概念上简单且非常安全的工作方式。当您获得更多经验时,您会发现可以在单个存储库中使用多个头(也许通过用bookmarks命名)来执行相同的操作。
克隆110 MB的存储库应该非常快:这取决于将110 MB写入磁盘所需的时间。在recent message to the Mercurial mailinglist中,据报道克隆6.3 GB需要4分钟-将其缩小到110 MB大约需要4秒。那应该足够快,以使您的茶仍然温暖:-)窍门的一部分是,历史数据只是硬链接(hard link)的(是的,在Windows上也是如此),因此只需在工作中写出文件即可复制。
关于ide - 商业实践: use with IDEs and scalability,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/403279/