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主要有以下几个优势:

  1. 与传统的集中式版本控制工具不同,分布式版本控制工具不需要联网就可以工作,每台电脑都是一个完整的版本仓库。
  2. Git可以胜任上万人的开发规模,这个大家看看GitHub中的开源项目就知道了,不需要我多说。
  3. 性能优异。我们前面说过Linus Torvalds之所以不愿意使用CVS、SVN等版本控制工具就是因为这些工具的性能太差。所以Linus Torvalds在开发Git时就决定要革除积弊,确保Git的运行效率。笔者在上家公司做开发时,深受SVN的毒害,但是公司还是不愿意迁移到Git上,我猜测是由于项目经理不会用。
  4. 保证项目的安全。我们知道,在SVN之前还有一个集中式版本控制工具叫做CVS,这个CVS有一个问题,就是你的文件有的时候会莫名其妙的丢失,做开发的各位筒子都知道,如果你的项目中突然有一个文件不见了,你不出一身汗才怪。所以,Git使用SHA1这种通用的加密散列函数来对数据库中的对象进行命名,从而来确保文件的安全。
  5. 好用的分支。用过Git的人都知道Git中的分支用起来有多么爽,分支在我们的项目中用的非常普遍,可是SVN虽然也有分支,但是却不能像Git用的这么爽。这个做过项目的筒子都知道。我们到后文会给大家详细介绍分支的用法。

在线练习Git命令

https://learngitbranching.js.org
此网站可以练习Git的所有命令,以关卡的形式进行使用。关卡图

总体分为两篇内容:主要操作和远程操作

篇主题里面分为若干个小主题,小主题下面分布若干个关卡,每一个关卡对应一个命令的操作。通过完成每一个关卡来熟练每一个操作命令。

关卡使用指南

演示

以进入主要操作篇中的基础命令篇的第一关在这里插入图片描述

  1. 进入关卡界面,可以看到关卡的命令介绍。两个按钮,红色按钮代表返回上一个界面,绿色按钮代表进入下一个界面。
  2. 进入下一个界面在这里插入图片描述会多出来一个绿色的按钮,上面写着命令;右边有命令对应的示意图,点击命令按钮,示意图会展示命令执行之后的效果,让我们更加清晰的了解命令在这里插入图片描述通过命令以及演示图的观看,对命令熟悉之后,会进入实操步骤。在这里插入图片描述到这里就代表演示完毕,点击绿色按钮进入实操阶段

实操

  1. 进入实操界面,如下图:在这里插入图片描述
    1.1. 红色标记出来的是命令执行效果图
    1.2. 绿色标记出来的是最终效果图
    1.3. 黄色标记出来的是执行命令区域,在黄色区域执行Git命令,绿色区域点击可以隐藏,让执行命令区域更大
  2. 执行命令效果,如下图:在这里插入图片描述可以看到,绿色区域我隐藏了,并且执行了“git commit”,效果图对应展示了执行效果。
  3. 过关界面,如下图:在这里插入图片描述界面的信息,大概介绍一下,信息上告诉你需要几条过关命令就可以达到要求,你使用了几条命令,红色按钮代表关闭界面,绿色按钮代表进入下一关

好了,到这里;如何进入关卡,怎么操作命令,都已经讲完了。

工具栏

在操作git命令的时候避免不了出错,或者想重置关卡进度,或查看关卡答案等操作;这个时候就需要使用到工具栏了,如图,在操作界面的右下角,点击问号,可以展开工具栏在这里插入图片描述
在这里插入图片描述

  1. levels;点击打开关卡图,可以看到每一个关卡,完成了那一关,完成到了那一关,还有哪些没完成,界面见图1。
  2. Solution;点击查看当前关卡的答案。如图:在这里插入图片描述红色按钮是关闭,绿色代表确定查看。如果确定查看,答案会以输入命令的状态一个个显示在git命令输入界面,如图:在这里插入图片描述
  3. reset;重置关卡,回到起点
  4. Undo;撤销上一步操作
  5. Objective;最终目标,以及执行命令思路
  6. Help;查看git所有操作命令以及网站的部分特殊命令

到这里,整个在线练习git命令网站就介绍完了


丶clearwater

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐