Git是什么?
官方一点的说法,Git是一个分布式版本控制系统。
这真让人恼火,最让人烦的就是用一个术语去解释另一个术语。你这时肯定又要问了,那什么是版本控制系统呢?
我说一个我的故事吧。
去年我跟同学参加一个竞赛,做一个APP。我们用了很多开源库,基本上看到一个好的就集成进去,但很有可能会失败,经常加上一项功能,整个APP就崩溃了,或者加上以后才发现不合适。这时候就想回退到原来的版本,直接在源代码上删掉的话,很可能会误删,最后导致不可恢复的结果。
最简单的一种办法就是:每加一项新功能之前,先备份原有的,一旦发现不合适,就删除当前整个项目,直接使用上一个备份的项目。
你没听错,当时我们就是这么干的。结果就类似于这样:
这种办法勉强还行,但是也有很多缺点:比如不能多人协同开发;累积的文件越来越多,越来越杂...
我知道这很蠢,但当时也没有其他的办法。
要是有一个软件来帮助我做这件事情就好了,它可以记录我每次的变动,并在我需要的时候很方便的回退到原来版本。
差不多是这个样子:
版本号 | 用户 | 说明 | 时间 |
---|---|---|---|
01 | 张三 | 添加了一个按钮 | 3/19 15:49 |
02 | 李四 | 更改了按钮的背景 | 3/20 07:49 |
03 | 张三 | 新添加了一个界面 | 3/20 09:20 |
04 | 张三 | 更改了界面的样式 | 3/20 13:21 |
05 | 李四 | 添加了一个列表 | 3/19 15:09 |
Git就是这样一个软件,它可以很方便的记录你的每一次变动,而不需要每次都备份,还能让你和他人很方便的协同开发。这样你每次做了什么改动,瞄一眼就一清二楚了。
这就是版本控制系统的价值。
是不是很简单?你心里可能已经由原来的对Git充满敬仰,到现在的不屑一顾。可就是这样一个看似简单的功能,却能为开发工作带来极大的便利,一旦你用它,你就会发现,自己再也离不开它了。
其实那次竞赛对我来说没有任何意义,但让我明白一件事情:我一定要学Git。
如果你跟我一样,那就从现在开始学习Git吧。Git官网
Git的由来
传说Git是由Linux的开创者Linus用了两周时间写的,用来管理Linux系统的源码。
Linus Torvalds在2002年起,使用BitMover的版本控制软件BitKeeper管理Linux核心开发,而因为BitKeeper除商业付费版本,仅提供可免费使用但不允许修改重新编译的精简版本,引起了开源社区的不满,如自由软件之父Richard stallman也敢严厉批评Linux Torvalds使用非自由软件开发Linux核心。
在2005年,Samba档案服务器开发人Andrew Tridgell写了连接BitKeeper存储库的简单程序,被BitMover创办人Larry McVoy指控对BitKeeper进行逆向工程,因为决定停止BitKeeper对Linux的支持。
顿时Linux核心开发受到了严峻的挑战,而Linus Torvalds秉承自己的版本自己写的精神,整个周末都不见人影,隔周却如变戏法般带着Git出现。——Git十歲了!Git之父Linus Torvalds說古,大談Git開發秘辛
简单地说就是,别人的软件不给他用了,他一气之下,就自己开发了一个,结果风靡全球。大家自己感受一下。
如果喜欢的话,可以关注我的微博http://weibo.com/qiaoer2017