首先,让我说我不是一个专业的程序员,而是一个需要它并且必须学习的工程师.我一直独自工作,所以只有我和我的七个分裂的人物...我们作为一个团队工作:)我的大部分东西都是用C/Fortran/Matlab完成的,到目前为止我一直在学习git to管理一切.然而,尽管我没有任何无法解决的问题,但我从来没有对它"满意"......对于我不能做的一切,我必须查阅一本书.而且,一段时间以来,我一直听到很多关于Mercurial的好东西.
现在,我的一位同事将不得不在一个项目上与我合作(我几乎为他感到难过)并且他开始学习Mercurial(他说更喜欢它),我正在考虑自己的转换.
我们几乎只在Windows平台上工作(尽管我使用Unix工具和来自这个地区的东西管理相对比较好).
所以,我想知道,在一个描述的场景中,我对切换有什么问题.我听说Mercurial对于Windows用户来说对用户界面更加友好.
它如何处理存储库?它是否以与git相同的方式创建它们(只是工作目录中的一个子目录)并且我可以只复制整个项目目录(包括git repo)并将它们带到某个地方而无需额外的思考?(当我选择git/svn时,我真的很喜欢).
你有什么好书可以推荐(比如Pro Git,只适用于Mercurial).
有什么好方法可以将Mercurial实现到Visual Studio/GVim for Windows或Windows资源管理器中以便我可以相对轻松地工作(我想避免使用命令行来处理有关它的所有内容,例如在git shell中).
还有其他我应该注意的事情(拜托,请不要指出其他问题......他们只是给我一些信息,而且我不确定我应该把它当作什么重要,什么可以忽视).我正在努力减少一些时间,因为我无法花时间重新学习Mercurial,就像我为git做的那样.
我也听说过git是c项目,而mercurial是python ......速度上有明显的差别.git非常快......在工作的时候我会遇到一些等待.
注意:我所有的项目都是中间尺寸......主要是数值模拟... 10-15000行(中等大小?)
jsi*_*ght 18
Git职业选手:
Git Cons:
HG优点:
HG缺点:
还有其他重大差异,但这些在我看来是最重要的.老实说,如果我主要在Windows上工作,我可能会选择Mercurial.
Mik*_*one 16
首先,让我说我不是一个专业的程序员,而是一个需要它并且必须学习的工程师.
也在这里工程师.我使用过Mercurial,Subversion,BitKeeper和CVS.尚未进入Git.
关于用户界面,我听说hg对Windows用户更友好.
不确定这里的意思,Git和Mercurial都是命令行工具.
它如何处理存储库?
它是一个分布式版本控制系统(DVCS),就像Git一样.
它是否以与git相同的方式创建它们(只是工作目录中的一个子目录)并且我可以只复制整个项目目录(包括git repo)并将它们带到某个地方而无需额外的思考?(当我选择git/svn时,我真的很喜欢).
是.Mercurial的存储库.hg位于工作目录的目录中.此外,Mercurial在其存储库中有一个命名系统,用于防止文件夹冲突(如果您将其与FAT,NTFS或HFS +等不区分大小写的文件系统一起使用).
你可以推荐哪些好书(比如Pro Git,只适用于Hg).
我推荐这个网站:https://www.mercurial-scm.org/guide
有什么好方法可以将hg实现到Visual Studio/GVim for Windows或Windows资源管理器中以便我可以相对轻松地工作(我希望避免使用命令行来处理有关它的所有内容,例如在git shell中).
有一个名为TortoiseHG的工具.我无法证明它有多好,因为我通常只是通过Cygwin使用命令行版本.
我也听说过git是c项目,而mercurial是python ......速度上有明显的差别.git非常快......在工作的时候我会遇到一些等待.
Mercurial非常快.我不知道它如何与Git叠加,但它比Subversion快得多.
注意:我所有的项目都是中间尺寸......主要是数值模拟... 10-15000行(中等大小?)
听起来像我的东西.当然,不包括原始数据.
关闭话题......
我的大部分内容都是用C/Fortran/Matlab完成的,到目前为止我一直在学习git来管理它.
我最近一直在从Matlab转向Python ......
只是一个想法.
几年编辑:有一个名为SourceTree的Mac DVCS工具,我一直非常满意.它支持Git和Mercurial,可在App Store免费下载.
就你的观点而言:
小智 8
我想谈谈基准测试的主题.有一种说法我喜欢:"永远不要相信你没有伪造自己的基准":-)
是的,Git维基列出了告诉你Git更快的基准.如果它们来自其中一个竞争者,你应该用一粒盐和两粒谷物进行所有基准测试.例如,这些Git基准测试是在一个干净的Git存储库上进行的,但它们不包括使其干净所需的时间.
你看,Git有两种存储库格式:一种是提交提交速度非常快,但是空间效率极低,随着存储库大小的增加,其他操作变慢.这就是为什么他们添加了第二种存储库格式,可以清理未使用的文件并更有效地存储数据,从而减少占用空间并提高性能.这就是"git-gc"命令的作用("gc ==垃圾收集").
那么猜猜会发生什么?当Git基准测试报告快速提交时间时,即使用一种格式,并且当它们报告小占用空间或一些快速操作时,即使用第二种格式.两个基准测试都没有显示垃圾收集周期的成本.结果是Git看起来更快.
注意,我不是说Git很慢.但我确实认为Git网站上的基准高估了它的速度,特别是我不相信Git实际上比Mercurial更快.
Mercurial使用一种高效的格式,它提供的"提交时间"几乎与Git"胖"格式一样快,并且磁盘大小"几乎"与Git"slim"格式一样小,没有垃圾收集周期的成本之间.
当然,另一种永远不会信任基准的方式是,绩效有很多方面,人们倾向于报告符合他们先入为主的想法的方法.例如,我可以指出,当Google Code出现时,他们只支持Mercurial,而不支持Git,因为与Mercurial相比,Git的表现太差了.但是,我会忽略这一事实,这是一个特别是http的性能问题.
我会逐点理解......
我认为Hg相对直观,易于使用,当失败时,记录良好.
Mercurial在Windows上有优势,但我相信Git在那里也有所改进,所以它可能不是一个好的差异化因素.
就用户界面而言,如果您不喜欢命令行,可以考虑使用TortoiseHg(您提到的Windows shell集成).在Windows上工作,我不怪你.:)
Mercurial以与Git相同的方式创建存储库:一个是根目录下的隐藏子目录.你可以随意移动它(把它放在棍子上,把它带到其他地方等等).为什么svn有问题?
我很高兴地说,考虑到Hg是完成工作的工具,我觉得没有必要找到一本"好书".可能有一些,但可用的在线文档对我想做的事情来说已经足够了.
虽然Git拥有它的速度,但目前还不清楚它是否比Mercurial更快,但重点是没有意义:无论如何它们真的非常快.
为了解释我自己关于这个主题的博客文章,我认为很重要的是Git似乎无法摆脱其难以合作的声誉.我碰到的几次引用说明了这一点比我想到的更好:"Git改变了,伙计!它不像过去那样,现在非常直观!你只需要了解它如何存储数据!"
总而言之,我是一个Mercurial用户(没有使用Git,但已经阅读了一下),我很少喜欢使用软件产品,因为95%以上的时间,它们是原始的,有粗糙的边缘,错误等.Mercurial是我喜欢使用的真正解决方案,并衷心推荐!
在阅读Mercurial中的分支指南后,我从Git到Mercurial的过渡变得更加容易,这也指Git的分支方式.
如果您有IIS 7,则可以轻松设置Mercurial服务器:在Windows Server 2008 R2上的IIS7下设置Mercurial服务器,您可以使用IIS 6或Apache2轻松找到教程.当然,快速同步hg serve是非常宝贵的:使用"hg serve"来推动变化
Visual Studio集成:
免费托管:
有关指南和教程,您可以从Mercurial wiki开始.
我会推荐hgbook(Mercurial:The Definitive Guide)和hginit(Hg Init:a Mercurial tutorial.Joel Spolsky对Mercurial DVCS的友好介绍.)
另见我在Git和Mercurial中的答案- 比较和对比 SO问题.
| 归档时间: |
|
| 查看次数: |
4391 次 |
| 最近记录: |