• 我的源码管理之路


    如果你是一个程序员,而且恰好对写写代码有那么丁点兴趣的话,恐怕你会有一些属于自己的代码,这可以是你学习过程中的练习,解决问题的工具,或者纯粹就是发自兴趣的研究~~~而且你也希望有个比较好的方法来管理他们。

    同学毕业后一直在兼职做网站,卖空间域名,前几天在他服务器上"kiang"来了一个SVN的repository过来,很是开心 - 自己的代码终于也走上了"一处保存,多出访问"的道路。其实之前也在网上搜寻过这方面的服务,有是有,就是空间有限,速度有限,没弄几天也就搁置了,比如unfuddle.comBitBucket,或者Github。这段时间正把一些代码整理一下慢慢往上搬,不由的回忆起这些年来自己的源码管理方法。

    文件:纯手工管理

    这是在大学时代了,那时无论是自己写点代码,还是帮老师做些项目,完全没有使用版本管理工具的意识 - 事实上,那是我还压根不知道这个概念。所以现在打开我大学时写的代码,往往可以看到xxx1.0, xxx.1.1等子目录。是的,那时候我就是用这种方法保存代码的可用版本的。曾经还写过一个批处理来每日自动备份,呵呵,不知道版本管理工具,并不代表没有版本管理的意识。土是土,但是因为只有一个人修改代码,这种简单的备份方法还是管用的。

    VSS:虽然自动化了,可实在是丑了点

    公司一些内部项目是主要是用VSS管理的,刚进公司的时候,内部项目做得比较多,用的最多的自然就是VSS了。当时这是一个全新的概念,感觉相当先进 - 记得还和同事讨论过它每个版本间的差异是怎么保存的。Wiki上面对VSS的介绍指出不少缺点:比如速度太慢,不稳定,可能造成文件毁坏。我想这应该是VSS逐渐没落的原因吧。但就我当时来讲,因为是内部服务器和小项目,基本没这些感觉,只是觉得界面太丑了点,尤其是那个diff,简直不堪入目。

    自己曾经就搭了个VSS的server,以便好好管理自己的代码,可是这种性质的代码,我是希望在公司和在家里都能访问的,可现实是我要么架在家里,要么放在公司,实在很不方便,再加上VSS那卖相不咋的,也就没有继续用。

    Perforce:很好很强大

    公司正式项目是使用perforce的(当然,现在内部项目也用perforce了),这工具的确强大,号称有5000个公司/组织的32万人在用它,我们公司也是赫然在列:

    image

    这至少证明一件事:我们公司用的不是盗版~~~~

    用的越多,用的越深,就越发现其功能的强大,而且其暴露出来的命令给我们写一些自动化脚本提供了很大的方便。去年对项目做大型重构的时候用perl+ p4 commands解决了不少问题。

    Perforce是个商业软件,但是你也可以在用户数受限的情况下免费使用:其限制是2个user,5个workspace。想想如果你是一个人用的话,2个user还嫌多呢。其实Perforce这招挺厉害的,一些个人,小型团队本来就不是他们的目标客户,我就让你免费使用,也不损失什么,但是将来你团队要做大了,perforce也用熟了,还怕你不来买 - 这叫培养潜在客户群。

    当时为了更好的管理一些脚本和工具,就把公司Perforce服务器上一个废弃的branch下一个不显眼的目录作为了我的大本营,主要是管理一些工作用的工具,但也有一些自己因为兴趣写的代码,管理起来是挺方便的,也用了一段时间。但后来想想不太合适,还是撤了吧。

    其实如果不要求多处访问,在自己机子上架个perforce的server用用还是很不错的。

    SVN:开源项目多用它

    SVN这是一个很有名的工具,可能因为和开源项目关系比较紧密吧。现在sourceforge上的项目基本上都用它了。SVN用的不多,以前主要是用它拿拿源代码而已。因为我的博客是寄放在我同学的服务器上,这两天老琢磨着在他服务器上搞个SVN,一问发现他早有了,主要是接一些项目时用的。于是就厚着脸皮让他给我划了一块。其实本来是想自己在上面配置的,之前还研究了下文档,不过既然有现成的也就省事了,他用的是VisualSVN Server,配置起来的确要方便很多。

    其实各大空间提供商可以考虑考虑提供这方面的服务,不一定只是卖空间嘛,说不定这会有不错的市场。

    这几天用下来,速度飞快,而且容量不限,相当满意~~~ 非常感谢同学的赞助,包括博客空间。顺便帮他做个广告,您要是想搞个独立博客之类的,可以考虑考虑这里:京拓科技

  • 相关阅读:
    Python2+appinum基础操作封装
    appinum+python环境搭建
    Python学习-pymysql(一)
    小程序onShow事件获取options方法
    css中content-box和border-box当宽度为百分比时的位置区别,vw和%区别
    JavaScript
    canvas入门基础,七巧板、五角星、粒子时钟等
    JavaScript 自适应轮播图
    css使用padding-bottom百分比进行提前占位,防止抖动
    Dreamweaver配色方案
  • 原文地址:https://www.cnblogs.com/baiyanhuang/p/1730722.html
Copyright © 2020-2023  润新知