BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

孙以义开发的用于VS2008/2010的Git源代码控制提供器

| 作者 Jonathan Allen 关注 547 他的粉丝 ,译者 朱永光 关注 0 他的粉丝 发布于 2010年6月20日. 估计阅读时间: 4 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

由于现在的很多开发团队变得越来越分散,类似微软的Visual SourceSafe和Team Foundation Server这样的集中式源代码控制系统很快就失去了吸引力。在这种情况下,很多开发人员转而使用分布式源代码控制系统。在.NET开发人员当中,最流行的一款莫过于Git,它最初由Linus Torvalds为Linux内核开发而创建。

使用Git的一个问题就是,大部分功能要通过命令行来操作。而.NET开发人员更习惯于使用用户界面,所以在进行日常任务的时候不得不离开IDE的界面,确实让人很不爽。这也就是为什么孙以义的Git Source Control Provider(Git源代码控制提供器)成为采用Git的一个重要条件的原因。孙以义写到:

作为一个Visual Studio用户,我希望在解决方案管理器中看到文件的源代码控制状态。否则我不会觉得这些文件正在被某个源代码管理系统所控制。在使用SourceSafe、Team Foundation Server、Subversion或甚至Mercurial的过程中,我们已经非常习惯这种方式了。在使用Git的时候,我们也希望得到类似的体验。在互联网上我没有找到任何有用的东西,所以只好决定自己弄一个。

基本想法就是显示Git文件状态,并让整个体验和VSS和TFS尽可能接近。我让已签入(已提交/已跟踪)的文件依旧显示蓝色的锁定图标,为已编辑的文件显示红色勾选图标。也添加了两种新图标,黄色的加号和“i”状图标。它们分别代表新建和登台(Staged)状态。这两个特殊类型的图标只是Git所独有。

使用这个插件打开Git所控制的解决方案,根据文件所处的是新建、已签入、已编辑和待登台的状态,而被清楚地进行不同标记。当前的Git分支名称也会显示出来,以便提醒你是否工作在正确的分支上。源代码控制的感觉又回来了。

对于Visual Studio用户而言,有两个源代码控制相关的功能是非常方便的,我也决定一并实现。它们是“和最后提交的版本进行文件比较”和“回滚文件变更(从最后提交的版本恢复文件)”。

这是一个令人激动的起点。我或许把它弄得有点花哨了。现在,我开始考虑,为什么我应该点右键来启动Git的命令行,并输入git init来创建新的本地代码库呢?我就不能仅仅点右键就选择初始化一个新代码库吗?

至少目前,这个插件还没有打算代替或重复Git本身或Git Extensions这样工具的功能。类似查看历史、签入/签出、转换分支将会依赖于Git Bash和Git Extensions的功能。最后,我将会很小心地添加一些常用的功能,比如init和commit等功能,不过通往Git和Git Extensions的大门就此打开了。

在问及Git是否可代替TFS来使用时,孙以义说这并无必要。“虽然TFS的源代码控制不如Git这样先进,但如若需要进行应用程序开发生命周期管理的话,TFS还是应该采用的。TFS对于包括开发人员、PM、BA和QA的整个团队很有用处。”他继续谈到:

如果诸如灵活的分支、合并以及脱机开发这样的现代源代码控制特性确实需要的话,我当然就推荐大家使用Git。不过要知道,用TFS来进行ALM,而用Git来代替源代码控制功能,还没有办法保证源代码控制的签入和WIT(TFS工作项)集成在一起。同时,Visual Studio对Git的工具支持也几乎是空白。

这个插件编译好的版本放在了Visual Studio资源库。这是一个基于微软公共许可协议(MPL,Microsoft Public License)的开源项目,可以在CodePlex获取它的源代码

查看英文原文:Introducing Sun Yiyi’s Git Source Control Provider for Visual Studio 2008/2010

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

作者是? by Dong Nan

大富翁的孙以义博士?

Re: 作者是? by doc delphi

同问

Re: 作者是? by doc delphi

应该是同一个人,网名叫yysun,中文名:孙以义

顺便问一下,Windows下最合适的GIT Server是什么? by Woo Victor

多年没做Delphi,没想到居然在这里碰到yysun,内牛满面。
Windows下最合适的GIT Server是什么?需要能支持外网远程访问的。
CopSSH/Cygwin搞了半天搞不起来

近来膜拜一下孙以义 by a ilangg

到哪里都是牛人啊。

好吧,我承认,我也是进来膜拜yysun的 by mo jay

很怀念在DFW的时光

Re: 顺便问一下,Windows下最合适的GIT Server是什么? by Chu Kevin

现在有git for windows的版本,名为msysgit,地址在:code.google.com/p/msysgit/,最新版本是Git-1.7.4-previ...

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

7 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT