我目前使用Perforce进行源代码管理,但希望同时开始处理来自2台不同PC的代码(台式机和笔记本电脑)。笔记本电脑无法经常访问perforce服务器,这使得Perforce在此设置中的选择很差。
像Mercurial这样的分布式源代码控制工具似乎更适合这项任务,但我仍然不清楚这是否有效。有没有人有任何使用Mercurial同时在2台机器上工作的经验(例如本周的桌面,晚上和周末的笔记本电脑)。它是否有帮助,或者仍然是一个痛苦的屁股保持一切同步和知道发生了什么。
答案 0 :(得分:5)
是的,过去两年我在工作电脑和家用电脑之间一直这样做。你可以使用Mercurial或Git,它们都非常好。我更喜欢Mercurial,因为它只依赖于python,它非常容易在Windows,Linux和Mac OS X上安装。
此外,由于大多数情况下只有你在项目上工作,所以冲突不会有很多问题。
答案 1 :(得分:2)
Mercurial非常适合此类设置。基本上每台计算机都有整个修订历史的完整副本,如果您需要分支或标记版本,您可以针对本地存储库执行所有操作。然后,当您在一台计算机上完成工作时,您所要做的就是回到远程存储库。远程存储库可以位于第三方站点(如bitbucket),也可以使用SSH或文件共享进行自己的存储。无论哪种方式,设置都很简单。我最近在how to get Mercurial running在Nginx下使用FastCGI(Ubuntu 9.10)在基于HTTP的存储库上写了一篇博文。
Mercurial是超级快速的(比如git),因为它可以对抗本地硬盘,而不必为每项任务都点击服务器。如果没有连接,你唯一不能做的就是回到你的存储库,这样在笔记本电脑连接能力有限的情况下它会很好地工作。
只需确保在开始工作之前从存储库中提取更改,然后在完成后将其推回。保持两台机器同步非常简单。我建议学习命令行工具,即使你打算使用TortoiseHG或其他类似的客户端,因为在某些情况下命令行更容易使用。
答案 2 :(得分:1)
我没有使用mercurial的经验,但是使用git。我的经历非常好。 DVCS非常适合像您这样的情况。大多数操作都可以离线完成,因此在使用笔记本电脑时不会出现问题。
再次建立连接后,您只需将所有内容同步备份,即可在其他电脑上工作。