超牛链AI Logo

超牛链博客: 读书|骑行|笔记分享
user
老王不响
@关于博主
2015-05-14

我用过的源码管理工具们(SCM) 12 mins read


源码管理工具是什么? 这个问题对研发中的兄弟姐妹而语,是天天使用,用来吃饭的东西嘛:

代码管理、协作开发、代码合并、代码分支、代码标签、代码比较、版本化工具。。。。。。

故,源码管理工具有很多产品(svn, cvs, hg, git 等),其功能类似,各有特色。

结合个人所使用过的SCM,我简单小结一下:

    1. 他是一种文件管理系统
    2. 他是研发团队交流的重要契约
    3. 他是队员彼此信任的核心之一
    4. 他是你取得进步的见证者之一
    5. 他是你觉得不孤独的利器之一
    6. 下面就我个人使用的源码管理工具列举一下,有些流水账,各位请继续忍忍:
  • VSS:2005年

  • 我最早使用的一个源码管理工具,VSS全程是Visual SourceSafe,其属于微软的一款产品。但是刚从一名工人自学编程,进入研发团队,还觉得挺难的:团队协作、checkIn、CheckOut等概念,那个时候,还不太理解做这些事情到底是为什么。
    VSS最大的一个特点就是可以和开发环境Visual Studio进行无缝结合,我记得2005年我用的Visual Studio 是2005版本, .Net 1.1框架。 网上找了个图片,记忆中的VSS的界面大概是这个样子的,中规中矩的WindowForm风格:

 

  • TFS:2006年

  • 团队发展到一个新的阶段,人多了起来,需要提 bug,需要提 需求, 需要分配任务,这个时候为了复用已有的VS技能,故升级到了VS完美结合的TFS(Team Foundation Server,这个也是微软出品的)。其功能强大:完整的软件生命周期工具、支持敏捷开发、可配置自定义查询、可定制Daily Builder等功能。

截图如下,我现在还记得TFS有一个很重要的特性是有lock功能,只能独占编辑。当时公司的SCM在内网搭建,外网无法访问,我们出差去保定,只能手工选择文件为可编辑,修改完毕后,等回公司后,再花1天时间合并、提交代码。

 

  • SVN:2009年

  • SVN(Subversion) ,是一个开源软件,崛起的速度很快,好像是 CVS(Concurrent Version System)的替代和升级版本。SVN起来的一个很重要原因是自由软件开发的协作网如SourceForge.net提供了SVN的访问方式。很大程度上,我对SVN熟悉是从一个乌龟的logo开始的:

 

SVN截图如下,完美的和Windows文件系统集成,SVN会非常方便进行源码管理:更新、提交很方便;其处理代码冲突也非常方便编辑。

 

  • Git:2014年

自打离开研发队伍后,业余玩点代码,没有源码托管的可真难受啊。

又懒得自己搭建源码服务器,开始尝试了微软的TFS Online,但是,网速那个慢,无法忍受。当看到国内Git免费托管盛行,就学习了Git方式(我用的是非命令行的,还是乌龟的tortoisegit)。所幸,Git到处有,国外著名的是Github(任意多个public的代码库,private收费)和bitbucket (免费提供1个private和任意多个public的代码库)。国内的如https://www.chaoniulian.com, 以及我最近1年在使用的http://git.oschina.net/--速度快、private免费、可团队协作等。

目测,Git因为是目前最火的、最流行的源码管理工具了吧。

git这么火,不仅仅是其免费、开源;还源于其血统和传奇:Linux创始人Linux Torvalds 花了短短几天写出来的,据说;自那以后,Linux就在Git下进行源码管理,加之,基于Linux的Android火的厉害。

 

 

  • Perforce:2015年

  • 头次听说Perforce源码管理工具,是看《游戏引擎框架》这本书,听说在游戏行业,用的很多,当时并未走心。第二次听说是li口头告之的, 大名鼎鼎的EA用的就是这个产品,但是还没有反应上来是啥--误以为是performance,用于测软件性能的工具,呵呵。
    回家查询了一下,原来Perforce不是默默无名之辈,其是Unity默认支持的文件管理系统之一,使用免费、开源的P4Connect即可在Unity中提及、获取代码。同时Perforce也提供了VS的插件P4VS:P4VS - Perforce Plugin for Visual Studio

花了约1.5天,看了一下官方文档和网友整理的博客《[SCM]软件配置管理》;自己下载Perforce工具--20人以下是免费的,动手在Windows 7上搭建了Perforce服务器。

配置Perforce服务:

在Project视图使用菜单:

不过,有时候,偶尔会有这样的错误,比较恼火:

昨晚处理一个问题:

Client 'roger.wang_codepiao-PC_5688' can only be used from host 'codepiao-PC'.

本地建立workspace,不要指定host:

 

对源码管理工具,没有太多个人的喜好,都是团队的协同工具之一。

总之,在概念和操作上大同小异,熟练掌握即可。 对研发而言,天天会用到,无他,唯手熟尔。

如当熟练掌握一种源码管理工具,再要学习新的,1、2天就能上手了。如下图是SVN和Perforce的对比图:

 

 

同类型的几篇博客链接:

2015-05-14
老王 加冕为王
老王,工作了19年的软件工程师、连续创业者、Blogger(since 2013),微软.net MVP获得者(2015~2016)、 Unity3D UVP获得者 (2017)。 曾任上市公司研发主管、知名外企Social Media Marketing 。 现专注于Instagram、SEO等海外社交媒体营销技术研究与实践。 四十而立的我,有2个可爱的宝宝,喜好骑行、读书、木工, 尤其喜好历史、科幻书籍。
友情链接
超牛链 57天前 2024年3月6日 15:16

坐等老朋友的更新,期待你的新作品

最新文章

超牛链AI:Ollama本地LLM LangChain RAG小试--算力为王

算力为王时代: CPU --> GPU

GPU这...
【发刊词】超牛链AI: hello world.

​公元2024年,比2023年的AI风暴,更加寒噤。

《一句顶一万句》 遇见一个能说的上话的人不易

2024年 甲辰龙年春节假期,我看了2本小说,茅盾文学...

2023个人总结: AI、骑行、青椒炒肉丝

后疫情时代,刚褪去口罩。又迎来经济消费降级,我的客户同...

热门文章

C#程序员整理的Unity 3D笔记(六):Git源码管理

对程序员而言,写的代码用源码管理系统管理起来,非常方便...

且行且思:记录一次西安城墙国际马拉松---8公里

百度搜索,输入西安城墙马拉松,有7万2千个结果。 实际...

骑行故事初心--自由的御风而行

2023年,三年疫情过后第一个春天,我开始了骑行: 空...

Unity3D for VR 学习(7): 360°全景照片

    在VR应用中,有一个相对简单的虚拟现实体验,那...

相关【成长碎片】文章

查看所有相关【成长碎片】文章
入冬随笔-非暴力沟通 规则的力量 心里暗示

怎么管好自己?

自己内心戏太多,两个小人打架。

怎么管好孩子?

晚上十点半后,母子就是疯狂模式了。

几回回梦里回北京,复盘北漂返回西安过来男人经验

知乎里面: 杭州、上海、北京、深圳, 985学校、10k收入等等 回家乡的话题讨论

类似话题,几乎每次过完年,总会...

2022 总结

上学时候,老师让观察,听到这个词,我特别迷茫。

因为在一个强势的家庭的孩子,一个孩子"观察"是极大的错误的。 当一...