两个月前,有一次跟环保圈子的小伙伴聊天,不小心聊到马云。小伙伴看我们聊马云聊得兴致勃勃,然后不解并带有一丢丢蔑视地说:“你们搞 IT 的呀,就是喜欢崇拜马云!” 为了避免唇枪舌战,我并没有进一步阐述为什么我们喜欢聊马云,学习马云。所以我们把话题转回到环保话题,并愉快地进行了晚餐。
两个月后,我又想起了这件事,并进行了一些思考。实际上,我并没有过分崇拜马云,我喜欢看历史、人文、地理以及人物传记,从雅典文明到工业革命,从河姆渡人到改革开放,从国家地理到 InfoQ 架构师… 以前喜欢看列奥纳多·达芬奇、艾萨克·牛顿、尼古拉·特斯拉等大神的传记,最近迷上了孙中山、蒋介石、毛泽东等人物传记,学习这段近现代伟大的开国创业史。
很多 IT 界、金融界和富有创业热情的朋友和我一样喜欢聊马云,不了解的朋友可能会觉得很虚,觉得阿里巴巴的马云就是一个生意人,只不过刚好赚了很多钱而已。但是,我认为马云不仅仅是一个生意人,他那愈挫愈勇的创业史和天马行空的魄力激励着我们,也值得我们学习。同时,他的普世价值观影响着我们,并得到了世界的认可。
我并不想在这里长篇大论地聊阿里巴巴和马云,我想引用何立民老师讲的一个从猿到人的故事:
达尔文告诉人们,人类从猿而来,“出走森林、直立行走、手脚分工”是人类的起源共识。猿类世代生活在森林中,匍匐行走,艰难求生。有一群猿类,勇敢地走出世代栖息的森林,成为始祖猿。没有了森林的遮挡,始祖猿开始直立行走。在直立行走中,看到了天体运行、日月交替、江河奔流、潮汐起落,俯仰180°、旋转360°的视野,极大地丰富了外部感觉。在丰富的感觉基础上,开始思考,在越过了思考的大山后,诞生了原始知识。在原始知识基础上打造工具,依靠知识和工具,始祖猿类迅速蜕变成原始人类。在经历了几百万年进化后,成为现代文明人类。如今,那些曾经嘲笑、甚至攻击过同伴的森林猿,成为了人类的远亲,依旧在森林中匍匐,艰难求生。
除了上面的马云,我还认识另一个马云——飞蚂蚁创始人。(我们每年产生上千万吨的旧衣服,到底该怎么办?| 马云 一席第455位讲者)
我认识飞蚂蚁的马云,是因为我们都是有创业梦想的90后,而且同样关注环保,甚至有点恋物癖。比如大学毕业的时候,很多同学都把不要的课本教材、衣物鞋包和生活用品扔掉或者卖掉,以便于轻装上阵成为职场人。我特别不忍心看到这一幕,也不忍心扔掉曾经陪伴我的物品,所以把同学们不要的(还可以用的)物品接收过来了,以至于我后面搬了几次家都特别痛苦!所以后来决定要“断舍离”,拥抱极简主义的生活方式,于是整理了一些长期不用的衣物鞋包,寄到“飞蚂蚁”。
从某个层面来说,我认为飞蚂蚁的马云和阿里巴巴的马云一样,都做了很酷的事情,都在力图寻找人类社会普世价值观,力图通过市场经济来推动社会进步。
接下来要讲的码云,其重要程度同样不可忽视,并且在未来一定会继续改变着我们的生产、协作方式。
我总是很庆幸自己偷偷地拥抱了 Linux,加入自由软件的阵营,对我来说最大的变化不是写的代码变得多么优秀,而是视野变得开阔了,同时思想得到了升华。虽然辛亥革命已经过去了一百多年,但是“自由、平等、博爱”的思想并未深入人心,所以在我大天朝,“独立之人格,自由之精神”就显得弥足珍贵了!
使用过计算机编辑文档的朋友,都不可避免地面临文档创建、修改、分享、备份…的问题。我记得我们写毕业论文的时候,因为要不断地提交给指导老师并反复修改,我当时的做法是每一次提交之前复制一份文档,并且文件名加上当天的日期,如果同一天有多次提交,就在后面加上一位字母。而在答辩前后那段时期,甚至还在文件名中加上“最终版”、“最终不改版”、“打死也不改版”等等提交信息。以至于后来整个文件夹都是密密麻麻的文档,连我自己也不记得哪个版本修改了什么内容。
这么干的不只我一个,实际上我身边的同学大多也是这么干,除了少数几个永远只有一个文档之外。现在看来愚蠢之极,可是当时根本就没有一位老师跟我们说起“版本控制系统”这种高端大气上档次的东西!!!
我了解版本控制系统已经是大学毕业后的事情了,当时还没有进入研发组(企业内部用的是 SVN),而是负责配置 Linux 开发环境的工作,于是通过 git 下载了一些软件包。刚开始我以为 git 只是类似于 curl 和 wget 的下载工具,可是随着深入了解,卧槽!git 这东西屌炸天啦!
相比于史前黑暗时期和集中式版本管理时期,我觉得理解 Git 最重要的是要理解“工作目录”、“暂存区”、“本地仓库”和“远程仓库”的概念。毕竟 Git 是 Linus Torvalds 的又一个划时代作品,从根本上来讲,Git 是一套内容寻址(content-addressable)文件系统,在此之上提供了一个 VCS 用户界面。所以说,Git 更侧重于成为文件系统而不是一套更精致的 VCS。
我说得再多,也没办法表达 Git 的666,建议初次接触的小伙伴们还是直接看《Pro Git》吧~
如果你已经知道 Git,那么很可能也会知道全球最大的程序员交友平台 GitHub,尽管 GitHub 前不久被微软收购了,但依然有很多忠实的粉丝。毕竟我们曾经为了 GitHub 上的一片绿做过很大的努力,也为了点亮小星星而废寝忘食。
关于 Git 和 GitHub 的关系,这里直接引用 GitHub 上的原话:
Github is a host which stores many repos, people using git can put their projects on it. Git is a software. You can use it for version control. You can also use it without Github and just store your code locally.
“码云”和 GitHub 是同类型的产品,它是开源中国自主研发的软件开发云,集中了软件开发生命周期中“代码托管、质量检查、代码演示、团队协作”等关键的环节和功能,开发者可以在云端进行编码和协作。目前所有环节和功能向开发者免费提供,且其操作标准和商业云是同一个标准的操作模式。
我们可以将 GitHub 上的项目迁移到码云,也可以免费创建私有仓库,而且可以使用 CSDN 账号登录,更棒的是中文支持和易用性相比于 GitHub 有了很大的提高!
如果你觉得 Git 只是程序员的工具那就错了,Git 不仅可以管理源代码,实际上它可以管理所有字符编码的文档,比如 ASCII、UTF-8 等等。显然,机智的你已经猜到,Git 对于存档为二进制的 Word 文档是无能为力的,毕竟我们没那么无聊去破解微软的私有文件格式。那么,想拥抱 new normal 的小伙伴们,其实可以尝试更为“善解人意”的 MarkDown 格式文档,实现文档的版本控制和管理。相信我,Git 不仅给你提供文档修改的后悔药,更给你带来非一般的体验!从此摆脱简单粗暴的史前黑暗时期,进入版本控制的文明时代。
说了那么多(小编要先喝杯茶),其实还没说到 Git 的重点——分布式。Git 之所以伟大,在于它的去中心化思想。相比于传统 master-slave 模式的集中式版本控制,分布式的 git 使得每个仓库都是平等的(git 本身并不包含权限管理,权限管理可通过第三方工具实现),因此每个开发者也都是平等的(只要你足够牛逼)。分布式版本控制系统不仅避免了单点故障带来的风险,更是将 GNU 的自由软件思想发扬光大!
版本控制是管理数据变更的艺术,无论数据变更来自同一个人,还是同一个团队,甚至是多个处于不同地理位置的团队,Git 版本控制系统都能帮我们实现每一次修改的记录和每一次变更的还原。可以毫不夸张地说,优秀的分布式版本控制系统将我们从“数据变更管理”的史前黑暗时代一把拉进了文明时代。
然而,这种文明只是片面的。如果从生态环境的角度来看,我们当前正处于黑暗时代。我们任由工业化进程破坏赖以生存的生态环境,我们肆无忌惮地窃取自然资源并毫不愧疚地浪费它们,廉价的消费主义使我们的身心愈发虚弱。不是吗?