我想尝试一个分布式版本控制系统.我使用几台Windows PC,几台装有Linux的电脑和一台Mac.在窗户上,我想用Tortoise.
TortoiseSVN以外的任何龟都有什么好处吗?直到最近,对他们的打击一直是他们的速度慢而且有缺陷,但似乎有新的推动力让他们变得坚强.
我宁愿不必尝试所有这三个.谁有人最近转换并有一个良好的经验?
我个人对TortoiseHg有很好的经验.它还安装了hg命令行系统,因此如果需要(或者如果您更喜欢在命令行上进行版本控制),可以直接进入该系统.界面中有一些怪癖,但总的来说它非常可靠(如果使用修订图表视图,它看起来很棒).Mercurial的Subversion导入也很棒.
您甚至可以使用Mercurial的hg-git扩展来使用Git存储库,正如CAD bloke所提到的那样.
我会建议TortoiseHg.如果您熟悉TortoiseSVN,您可以立即使用它.
你想在Windows上使用它吗?
截至今天,在我看来,TortoiseHg比TortoiseSVN更好.并且它仍然可以非常快速地提高(我从版本0.4开始使用它,使用Mercurial 1.4.2时电流为0.9.2).例如,一个很好的功能:只需在IDE中进行大量重构,而不关心重命名.然后在上下文菜单中选择"Guess renames"功能并享受乐趣.没有更多破碎的历史记录,因为您使用了自己喜欢的重命名工具而不是'svn move'.
安装非常简单:下载并安装TortoiseHg,只需重启一次.现在你也拥有了当前版本的命令行Mercurial和SVN转换工具.它只不过是这个单一的包装.
你想在Linux上使用它吗?
"sudo apt-get install mercurial"是你需要的(在基于Debian的系统上)使用命令行Mercurial,但这个版本可能不是最新版本.我知道,有Ubuntu的PPA存储库,也可能是Debian的PPA存储库.因此,更新您的APT源列表,导入密钥,您可以安装TortoiseHg与Gnome非常好的集成.
抱歉,我不知道在Mac上安装.
无论如何,DVCS往往是有用的.无论你是做单独的黑客场景还是在一个庞大的团队中工作,它往往会更有趣.另外:使用clone + push + pull,您还可以拥有集成,快速且智能的备份.
但是,还有一些缺点需要考虑:
1)如果您在Windows和任何*nix系统之间共享工作,则只应使用ASCII字符作为文件名.Mercurial,Bazaar或Git都不像Subversion那样进行编码转换(参见CharacterEncodingOnWindows).在使用UTF-8和另一个操作系统切换任何操作系统时,任何法语口音或德语变音符号都会破坏您的工作.
2)你不应该使用很多大型二进制文件.Mercurial不是为此而设计的,我不认为,Bazaar或Git会更加有趣.
我一直在使用TortoiseGit.虽然git的性能在Windows上遭受损失,但在大多数情况下它都是完全可以接受的.在你提到的三个中,Git当然拥有最精美的"Tortoise",在我看来.如果您习惯使用TortoiseSVN,那么向Git的过渡应该非常顺利,因为TortoiseGit基于TortoiseSVN代码库并重用了很多UI和设计原则.