Git准备好被推荐给我的老板了吗?

Git准备好被推荐给我的老板了吗?,git,version-control,devtools,Git,Version Control,Devtools,我想把Git作为一个新的源代码管理系统推荐给我的老板,因为我们在90年代使用VSS(哎哟),但是工具和第三方支持是否足够好呢 具体来说,我指的是类似于TortoiseSVN的GUI前端、良好的视觉差异/合并支持,以及电子邮件提交通知和来自IDE和构建系统等第三方的一般支持 尽管这将被程序员使用,但我们的团队中确实需要这种东西。我不想让每个人都被一个新的工具,甚至是一个新的源代码管理范例(分布式)所束缚,除了一个命令行应用程序和一些在线教程什么都没有。这将是一个倒退 那么你认为。。。Git准备好了

我想把Git作为一个新的源代码管理系统推荐给我的老板,因为我们在90年代使用VSS(哎哟),但是工具和第三方支持是否足够好呢

具体来说,我指的是类似于TortoiseSVN的GUI前端、良好的视觉差异/合并支持,以及电子邮件提交通知和来自IDE和构建系统等第三方的一般支持

尽管这将被程序员使用,但我们的团队中确实需要这种东西。我不想让每个人都被一个新的工具,甚至是一个新的源代码管理范例(分布式)所束缚,除了一个命令行应用程序和一些在线教程什么都没有。这将是一个倒退

那么你认为。。。Git准备好了吗?Git有哪些合适的工具,哪些第三方开发应用程序支持它

编辑:我最初的问题很模糊,所以我正在更新它,特别要求提供一份Git可用工具和第三方支持的列表。也许我们可以得到一个社区维基帖子,上面有一些东西


我也不认为“颠覆”是一个恰当的答案。除了离线编辑之外,使用分布式源代码管理系统还有其他原因——私有和廉价分支就是其中之一。

取决于团队。如果你是一个精通技术的团队的一员,那么git是非常棒的(而且往往更棒)。但是,如果有些人在命令行上感到不舒服,可能会有一些麻烦(因为它还处于起步阶段,坦白说,我遇到的所有其他GUI都很糟糕)


如果你没有那么专业的人(设计师、高层管理人员等),我会选择subversion之类的。非常棒(而且相当容易使用),svn可能拥有git的80%。

我们公司使用git,根据您对视觉工具的要求,我会说不。tortoisegit即将推出,但还没有完全实现。GitX和GitNub等工具在OSX中非常好,但它们并没有完全涵盖您描述的所有内容

不过,给点时间。Git正以相当快的速度发展,由于这种增长,对可视化工具的需求正在增加

你可能会遇到的最大问题是范式的转变。这不是一件容易掌握的事情,对于团队中的一些人来说,这将是一件令人沮丧的事情,因为他们已经习惯了使用Git及其更分布式的特性(尽管我不太喜欢称之为分布式SCMs)

话虽如此,使用Git对我和我的公司来说是非常棒的,我希望看到另一家公司加入进来。

一个更简单的方法(我已经成功地做到了)是建立一个中央Subversion存储库,它为每个人提供了好的工具,如TortoiseSVN。然后,希望使用
gitsvn
的开发人员可以将完整的git环境用作Subversion客户端


这非常有效,因为仍然有一个中央存储库,每个人都知道给定的更改要么已经提交,要么还没有提交。然后,在边缘上,人们可以使用他们想要的工具(Git)来完成他们的工作。

Windows的默认Git GUI非常糟糕,而且往往陷入重新扫描循环中。我现在使用命令行客户机,只要您能够处理使用vi创建日志条目的问题,就可以了。我刚开始使用github,它还可以,但是导航很差


就我个人而言,我所做的几乎每件事都使用Apache的Subversion。Subversion工作得很好,有很好的文档记录,易于设置和免费。

大多数典型规模的公司真的需要分布式源代码控制吗

Git在开源项目中工作得很好,在开源项目中,来自世界各地的人在截然不同的时间合作完成一个项目,其中签入的有效性由优点和信任网决定

比如说,在一家需要QA分析或配置经理批准和/或文档的公司,或者为了使修订号与bug报告中的修订号保持一致,我认为像Git这样的分布式控制是没有意义的,因为范式转换是不必要的;它还不能很好地适应现有的构型管理过程(一个社会问题);它与现有工具、第三方和其他方面没有很好地集成;而且它的Windows支持很差


并不是说这不好;我很怀疑它是否适合大多数公司环境。我期待着一些其他的回应,以获得更多的见解。

从VSS到Subversion已经是一个很好的升级。Subversion将为您提供强大的功能,如原子提交、强大的GUI、与IDE的集成、出色的Windows体验、变更集的概念、可靠的存储库等。对于一家典型的基于Windows的公司和中小型团队,我认为Subversion是一个很棒的工具

如果你对分布式VCS感兴趣,那么你应该看看git、hg、bzr。就Windows支持而言,hg和bzr领先于git。但是,有一个移植的命令行版本的gitforwindows(msysgit),它将更改合并回主git。此外,git社区正在快速发展,因此我希望Windows体验会有所改善

Git支持一种混合场景,其中服务器可以是CVS/SVN,单个开发人员可以使用Git SVN在本地工作并管理本地分支。这种设置提供了两全其美的效果。然而,由于依赖Perl svn库,git svn在Windows上是脆弱的。在这个场景中,使用git的优秀特性(比如开发人员共享分支等)并不容易

考虑到您的项目不是开源的,我认为Subversion可能会提供您需要的所有特性。一旦Git达到您需要的Windows可用性标准,那么您就可以将SVN repo导入Git

除非你的公司在分支和合并方面很重要,否则我会选择SVN