Git诞生记
Git诞生于2005年4月,由Linux的作者Linus Torvalds花费了两周的时间用C写了一个分布式版本控制系统,这就是Git1.0,大牛写代码就是这么666666。其实早在Git之前,这个世界就已经有一些非常流行的版本控制工具(VCS),比如CVS,SVN,ClearCase等,然而这些工具要么运行慢,要么要收费,都不是Linus Torvalds的菜,当时,有一个公司叫做BitMover,该公司有一款产品叫做BitKeeper,这是一个分布式版本控制工具,但是这是收费的,不过这是一个有情怀的公司,老板Larry说服Linus Torvalds使用BitKeeper来管理Linux内核源码,于是,在2002到2005年之间,Linux内核开发团队一直使用BitKeeper来管理Linux源码。可是在开发的过程中,Linus Torvalds有一个叫做安德鲁·垂鸠的小伙伴不安分了,他写了一个简单程序,可以连接BitKeeper的存储库,BitKeeper著作权拥有者拉里·麦沃伊认为安德鲁·垂鸠对BitKeeper内部使用的协议进行逆向工程,决定收回无偿使用BitKeeper的授权。合作无法继续,于是Linus Torvalds决定自己开发一套分布式版本控制工具,就是Git,至于这个分布式版本控制工具为什么叫Git,Linus Torvalds并没有给出一个让所有人满意的解释,倒是很多开发者一直尝试去给Git一个合理的解释,常见的一个解释就是Global Information Tracker(中文译作全局信息追踪器)。如果当年不是BitMover公司的逼迫,估计我们还不一定见到这么优秀的分布式版本控制工具。值得一说的是,2016年5月11日BitKeeper宣布以Apache 2.0许可证开源(新闻链接http://www.solidot.org/story?sid=48171),我很好奇BitKeeper宣布开源的时候他的老板心中是何感受?
Git的优势
Git一出世立马就成为最流行的分布式版本控制工具,2008年4月,GitHub正式上线,GitHub是一个利用Git进行版本控制,专门用于存放代码与内容的共享虚拟主机服务,GitHub上线之后,许多开源项目都移植到GitHub上了,不管你从事那门语言的研发,都会在GitHub上找到你需要的项目吧!OK,说了这么多,接下来我们也该说说Git这个分布式版本控制工具的优势了。Git主要有以下几个优势:
- 与传统的集中式版本控制工具不同,分布式版本控制工具不需要联网就可以工作,每台电脑都是一个完整的版本仓库。
- Git可以胜任上万人的开发规模,这个大家看看GitHub中的开源项目就知道了,不需要我多说。
- 性能优异。我们前面说过Linus Torvalds之所以不愿意使用CVS、SVN等版本控制工具就是因为这些工具的性能太差。所以Linus Torvalds在开发Git时就决定要革除积弊,确保Git的运行效率。笔者在上家公司做开发时,深受SVN的毒害,但是公司还是不愿意迁移到Git上,我猜测是由于项目经理不会用。
- 保证项目的安全。我们知道,在SVN之前还有一个集中式版本控制工具叫做CVS,这个CVS有一个问题,就是你的文件有的时候会莫名其妙的丢失,做开发的各位筒子都知道,如果你的项目中突然有一个文件不见了,你不出一身汗才怪。所以,Git使用SHA1这种通用的加密散列函数来对数据库中的对象进行命名,从而来确保文件的安全。
- 好用的分支。用过Git的人都知道Git中的分支用起来有多么爽,分支在我们的项目中用的非常普遍,可是SVN虽然也有分支,但是却不能像Git用的这么爽。这个做过项目的筒子都知道。我们到后文会给大家详细介绍分支的用法。
在线练习Git命令
https://learngitbranching.js.org
此网站可以练习Git的所有命令,以关卡的形式进行使用。
总体分为两篇内容:主要操作和远程操作
篇主题里面分为若干个小主题,小主题下面分布若干个关卡,每一个关卡对应一个命令的操作。通过完成每一个关卡来熟练每一个操作命令。
关卡使用指南
演示
以进入主要操作篇中的基础命令篇的第一关
- 进入关卡界面,可以看到关卡的命令介绍。两个按钮,红色按钮代表返回上一个界面,绿色按钮代表进入下一个界面。
- 进入下一个界面会多出来一个绿色的按钮,上面写着命令;右边有命令对应的示意图,点击命令按钮,示意图会展示命令执行之后的效果,让我们更加清晰的了解命令通过命令以及演示图的观看,对命令熟悉之后,会进入实操步骤。到这里就代表演示完毕,点击绿色按钮进入实操阶段
实操
- 进入实操界面,如下图:
1.1. 红色标记出来的是命令执行效果图
1.2. 绿色标记出来的是最终效果图
1.3. 黄色标记出来的是执行命令区域,在黄色区域执行Git命令,绿色区域点击可以隐藏,让执行命令区域更大 - 执行命令效果,如下图:可以看到,绿色区域我隐藏了,并且执行了“git commit”,效果图对应展示了执行效果。
- 过关界面,如下图:界面的信息,大概介绍一下,信息上告诉你需要几条过关命令就可以达到要求,你使用了几条命令,红色按钮代表关闭界面,绿色按钮代表进入下一关
好了,到这里;如何进入关卡,怎么操作命令,都已经讲完了。
工具栏
在操作git命令的时候避免不了出错,或者想重置关卡进度,或查看关卡答案等操作;这个时候就需要使用到工具栏了,如图,在操作界面的右下角,点击问号,可以展开工具栏
- levels;点击打开关卡图,可以看到每一个关卡,完成了那一关,完成到了那一关,还有哪些没完成,界面见图1。
- Solution;点击查看当前关卡的答案。如图:红色按钮是关闭,绿色代表确定查看。如果确定查看,答案会以输入命令的状态一个个显示在git命令输入界面,如图:
- reset;重置关卡,回到起点
- Undo;撤销上一步操作
- Objective;最终目标,以及执行命令思路
- Help;查看git所有操作命令以及网站的部分特殊命令
到这里,整个在线练习git命令网站就介绍完了
丶clearwater