Git 简介

Git是一款免费开源的版本管理工具,很多开源软件、企业的项目开发都使用Git进行版本管理。项目中引入版本管理系统,可以大大简化项目的开发流程,更方便后续的管理和维护。

试想一下,假如你正在写毕业论文,根据指导老师的意见不断地修改,不断地打回来,慢慢的在你的硬盘里就堆积了很多版本:

毕业论文第1版.doc
毕业论文第2版.doc
毕业论文第3版.doc
毕业论文最终版1.doc
毕业论文最终版2.doc
毕业论文最终版_打死再也不改版1.doc
毕业论文最终版_打死再也不改版2.doc
毕业论文最终版_打死再也不改版3.doc
毕业论文最终版_打死再也不改版4.doc
......

时间久了,版本多了,记忆如潮水般退去,你自己可能都忘记了每个版本到底都改了什么东西,各个版本之间有什么差异。那有没有更好的方法去记录这些详细的变化呢?答案是有的,我们可以使用版本控制工具来记录每一次的修改和变化。

版本控制工具就和各大银行柜台的会计一样,你的每一笔存款、取钱操作都一一记录在账,都要详细的记录可查:时间、地点、人物、存取的现金数额,都一一记录在系统中。版本控制工具也有类似的功能:在一个项目中谁创建了什么文件,谁修改了它,具体修改了什么内容,谁又删除了它,都一一记录在案。自从有了版本控制工具,工程师之间互相扯皮甩锅的机会大大降低了:你修改了什么都有详细的记录在案,都保存在版本库中,铁证如山,随便翻一翻就能查得到。

版本管理工具根据数据的存储,一般可分为集中式版本控制系统和分布式版本控制系统。集中式顾名思义,就是软件的各个版本数据都存储在服务器中,员工想要查看某个版本的代码,首先要把这个版本的代码拉取到本地电脑,然后才能查看和修改,最后再将自己的修改保存到服务器。集中式版本控制系统的一个缺点就是:数据值存储在一个服务器上,使用时需要联网,如果哪一天某个加班的员工受了委屈,为泄私愤,直接登录服务器删库跑路,如果数据没有备份,那问题就严重了,基本上就很难恢复了。所以集中式版本管理系统远远没有免费的分布式版本控制系统受欢迎。

Git就是一款免费的分布式版本控制系统。分布式顾名思义,就是不再将整个版本库的数据只保存在一个服务器上,而是保存在每个员工的电脑中。这样做的好处是:即使服务器崩溃了,或者被离职的员工删了服务器的代码,只要数据在任何一台员工的电脑中有百分,都可以直接恢复,因为每个电脑中保存的版本库数据时一样的。自从有了免费的分布式版本管理工具,老板再也不怕员工删库跑路了,Git,你值得拥有!

Git目前越来越流行,不仅绝大多数的开源项目使用Git进行版本管理,就连很多原来使用SVN等集成式版本管理工具的企业项目也开始慢慢迁移到Git,使用Git进行项目管理。

Git之所以越来越流行,免费是其中一个因素,Git更大的优势是:断网也能工作,因为每个人的电脑里保存的都是一份完整的版本库数据,即使断了网,大家也可以在自己的电脑上修改,然后提交到本地仓库。等连了网,再将本地仓库的提交推送到远程服务器上就可以了。

Git的另外一个优势是:分支切换灵活。使用集中式版本管理工具,当你需要查看不同版本的代码时,需要不停地从远程服务器上拉取不同版本到本地,如果项目很大的话,时间会很慢。而Git却不存在这个问题,分支切换几乎瞬间完成。

作为一名IT工程师,甚至运维人员,学会使用Git,可以让你更快地融入公司团队,参与项目的开发。作为一名在校的学生,学会使用Git跟踪、参与开源项目,将会帮你打开开源世界的大门,你会看到另一个不一样的世界。Git不仅仅是一个下载工具,项目管理的工具,更是一个学习前沿开源技术的利器。

Git正越来越成为IT开发工程师的标配技能,每一个从事研究、开发、测试、甚至运维的人员都应该好好掌握好这个工具,让自己的工作越来越事半功倍。

本套Git教程将会帮助你在最短的时间内快速入门,掌握Git常用的20个命令。

《Linux三剑客》视频教程,从零开始快速掌握Linux开发常用的工具:Git、Makefile、vim、autotools、debug,免费赠送C语言视频教程,C语言项目实战:学生成绩管理系统。详情请点击淘宝链接:Linux三剑客