毫无疑问,Git已经成为当下分布式版本控制系统的翘楚。借助于Git强大的分支、合并、日志、历史追溯、rebase、submodule、subtree等一系列特性,开发者之间的协作变得越来越容易。
Git是由Linus Torvalds开发的;同时,Linus Torvalds也是Linux之父。他开发的这两款软件对于如今的互联网时代影响深远。目前,最为流行和强大的社交化代码平台GitHub上托管着大量项目,其中既有个人开发的、也有诸多优秀的开源项目,如jQuery、React、Netty、Redis、Kafka、Zookeeper等等。如果不充分利用这些优秀的代码宝藏,岂不是最大的遗憾。而且,除了GitHub外,业界还有优秀的in-house代码托管平台Gitlab,这也是国内诸多互联网公司所用的Git代码托管平台,它提供了极为庞大的优秀功能集;让我们可以将公司项目全部托管到其上,而不必担心网络速度问题或是隐私问题。
目前,已经有越来越多的项目开始或是准备开始从传统的svn向Git迁移,在这样的一个时代背景下,如果我们不去深入学习Git,将会真正错失这一切的美好。我时常说的一句话就是:“如果你还不会Git,那就不用再写代码了”!
相比于svn或是cvs等传统的集中式版本控制系统来说,Git的学习曲线是相当陡峭的。这导致很多学习者在学习一段时间后无法深入,而且由于没有真正、彻底地理解Git的原理与模型,使得即便掌握了不少Git命令,在真正遇到问题时也是束手无策,最终导致放弃学习,而且对Git形成了心理阴影。
纵然如此,优秀的Git依然是每一个对程序开发有追求的人都应该认真且完整地学习的。当你真正掌握了Git后,你才会真正领略到Git的美妙,以及为何有如此之多的开源项目都纷纷转向Git而抛弃svn。不得不说的是,Git涉及到的理论与命令是相当多的,这使得很多人望而却步,不知从何开始。
鉴于此,该门课程从一开始对Git进行全面的介绍,接下来全部通过命令完成一个个Git操作,并且通过命令来阐述Git相关的理论,同时对Git涉及到的方方面面特性进行了细致而完整的介绍,最后还通过演示如何搭建内网的Gitlab平台向大家介绍Gitlab在生产系统中使用与运维的诸多细节知识。可以这么说,学习完这门课程后,你对Git的掌握将会达到一个非常深入的水准,你对Git的理解也将会有颠覆性的认知。
值得注意的是,学习Git一定要动手敲命令而不能借助于IDE帮助我们完成操作,否则你永远也无法体会到Git的强大以及为开发者所带来的便利。对于Git常见的命令与参数,一定要通过多练习来强化记忆,将其变成自己血液的一部分。
1