在基于Windows的操作系统上,使用Git Extensions或TortoiseGit有哪些优缺点呢?
在基于Windows的操作系统上,使用Git Extensions或TortoiseGit有哪些优缺点呢?
我不熟悉GitExtensions,但可以分享我使用TortoiseGit的经验(marc_s的评论中也提到了):
优点:
缺点:
TortoiseGit的问题在于使用过TortoiseSVN的人会认为所有的东西都应该像在SVN中那样(或应该那样),结果最终并没有真正理解如何使用git。以个人经验而言,我所在的公司在2年后从SVN迁移到git,在使用TortoiseGit的每个开发人员最终都没有真正知道他们在做什么,有时甚至会弄坏本地仓库。最终,他们放弃了TortoiseGit,并学习了git的“硬核”方式(在Windows上使用shell、msysGit),自那时以来,大家一直很满意。
结论:直接使用msysGit并适当地学习git。这将避免许多未来的头痛。
我的公司尝试了两种工具,但很快就放弃了Tortoise Git。它经常崩溃。程序员们声称Tortoise Git不够强大,但我没有亲自检查过。但我确实亲眼看到了许多崩溃。
程序员更喜欢使用git bash,其他人使用但不喜欢git Extensions。即使其中一些人额外打开了git bash。git bash不可避免地可以看到进度计数器。
Git Extensions没有选项可以在拉取(pull)时显示进度计数器。所以仅有Git Extensions时,你坐在一个晦涩的非进度条前,不知道发生了什么以及是否出现了问题。最糟糕的是缺少或错误的密码:Git Extensions只让你永远等待,显示相同的耗时进度条,就像正在处理某些东西。Git Extensions的另一个可怕之处是在版本控制许多大文件并进行pull rebase时,频繁中止且出现“内存不足”的情况。在这样的终止后,非编程用户总是面临问题。他们没有更改的许多文件会出现为更改的文件,并且锁定文件会阻止他们处理问题等等。
我认为这两个GUI工具都不成熟。
我对TortoiseGit没有太多的经验,但我已经安装并正在使用GitExtensions v2.21。
使用GitExtensions的最大优点:
缺点:
我们不要忘记,这是一个完全免费的程序,作为无附加条件的选择提供给我们,我不明白为什么会对其抱有如此高的期望值,仿佛我们是付费客户?我看到之前的用户提到了一些中止和冻结,但我认为这在v2.24中已经得到了大部分修复。很多中止和失败的操作并不是GitExtensions的错,而是系统性问题的症状(例如,远程repo主机上的文件权限问题,SSH配置错误等)。例如,有一次我做了一个简单的push操作导致失败和中止。原来我试图推送的远程路径名非常长,这给托管repo的Mac服务器带来了问题。
总之,我的GitExtensions体验还算不错。我发现上述优点使得即使在偶尔遇到中止和冻结时也是值得使用的,直到错误被修复。
我无法评论Git Extensions,因为我从未使用过。我在使用纯GIT时遇到了一些问题,例如无法集成GVIM。Tortoise Git有一个集成的编辑器和差异工具(非常棒),所以这是一个非常好的便利。我喜欢Scott Chacon书中的分支图表,并希望TGit有类似的图表。他们确实有一个显示分支的工具,但不如书中那个漂亮。
需要记住的一件事是,由于TGit只是在GIT之上的外壳,混合两种方法并不会有任何危害。我大多数情况下使用TGit,但会在需要处理笨拙或我在TGit中不太理解的命令时使用GIT。但即使您打算使用TGit,如上所述,了解GIT的基础知识仍然很重要。我建议阅读Chacon书的前三章(可在http://progit.org/book/免费在线获取,也可在亚马逊购买)。如果你像我一样,可能需要多次阅读这些章节才能让思想方式真正沉淀。它并不复杂,但与以前的版本控制系统非常不同。
TGit从未崩溃过,但对于其他评论者而言,他们的repo可能较小。它确实在多个场合吞噬了我的提交注释,这可能是用户错误。由于您可以返回并重新编辑注释,这只是一个麻烦,但值得用GUI进行方便的代价,窗口可以一目了然地显示大量信息。
仅针对上面的一些评论作出反驳:
以正确的期望来使用TortoiseGit,它提供了一个优秀的GUI界面,在Windows上与git一起工作。 它不是TortoiseSvn的替代品,而是一个改进的GUI,可以用gitk + git-gui(可视为核心git功能的一部分,并可在msysgit中访问)实现更高效的操作。 我唯一看到的问题是您不需要记住checkout / rebase / merge等准确命令,因为可以通过GUI非常方便地完成所有这些操作(这就是整个意义所在)。 putty / ssh问题更多地与Windows上ssh的支持较差有关,而不是TortoiseGit独有的。
autocrlf
设置(即不会像GE一样在暂存时重新提醒)。 - Annarfych日期:2011年8月27日。
目前,Tortoise Git完全无法使用,而且在Google Code网站上的问题已经一个月没有得到关注:http://groups.google.com/group/tortoisegit-users/browse_thread/thread/9090337b7936e1e1。
Tortoise Git第一次使用时弹出的窗口中的“加载Putty密钥”框被禁用了。因此,没有找到私钥,错误消息是“连接断开”成功!
Git Bash可以完美地工作,尽管是基于控制台的。如果以上所有人在使用Tortoise Git时都谈不上理解Git的概念,那么我会远离它,即使不考虑我花费的最后3个小时来让开发人员使用Tortoise Git。他将不得不学习控制台Git或走另一条路。
我只用了15分钟就把它搞定了,而我只是一个试图雇佣程序员的黑客 ;-)
另外,Eclipse拥有所有三个主要版本控制存储库“连接器”,是一个非常好的编辑器。
不要使用TortoiseGit :-) 我在一些长期咨询项目中被迫使用它,但你并没有学会Git。你只是学会了基本的SVN,并认为它就是Git。