可以在中央存储库中工作,还是“禁止不行”?让我们说在我的电脑上我有一个名为C:\ Src的中央存储库。我可以在该存储库中自行开发,还是那种糟糕的形式?
克隆一个名为C:\ MySrc的新目录?
会不会更好?C:\ Src在网络上共享,其他开发者当然是克隆的。
答案 0 :(得分:9)
我会努力克隆存储库,特别是如果您正在与多个开发人员合作。在我的典型工作流程中,当我达到某一点并且想要从其他开发人员那里获得新的更改时,我会经常签到,然后一旦我达到一个良好的共享状态,我就会推送到中央存储库。
您可能还希望使用 hg serve 进行分享,而不是使用文件共享,因为它可能会更可靠地为您工作。
答案 1 :(得分:1)
当您第一次使用存储库时,您希望专注于版本控制的概念,而不是因为拥有更多位置而非必要的“我的代码在哪里”而感到不知所措。出于这个原因,有两个开发人员刚刚开始,我建议你们每个人只有一个repo,你只需通过拉动来同步 。你们两个都需要分享或网络服务你的回购。
我说只使用pulls,这样你就可以控制哪些代码被带入了你的仓库。这也确保我总是调用我推荐的扩展名。
我还建议使用TortoiseHg,因为您在Windows上,以及fetch
扩展名(您可以配置为在资源库资源管理器中提取时自动使用)。这将大大减少拉动时保持同步的手动步骤数。我不建议使用rebase
扩展程序,因为我在使用它时失去了宝贵的工作。
Mozilla的Mercurial guidelines也是mercurial.ini
开始的好地方。
答案 2 :(得分:1)
使用本地克隆,您可以使用hg incomming等命令查看您的同事推送的更改。我还建议使用克隆,因为这会导致您使用相同的工作流程来应用/检索更改。
答案 3 :(得分:0)
在mercurial中没有中央存储库。因此,您可以直接在PC中使用存储库,无需克隆。
答案 4 :(得分:0)
在中央仓库中工作但保留一些控制权的另一种方法是允许用户在中央仓库中为其工作创建命名分支。例如,我可以创建名为“dls_case1”,“dls_case2”等的命名分支...然后,我可以自由地推送到这些命名分支,而不会将我的更改暴露给更广泛的组。项目负责人,或者他们真的可以在适当时合并这些分支。
当然,除非你有充分的理由我会与Aaron Weiker站在一起并且只是开发人员克隆。我只想指出另一种有效的方法。