Git-什么是Git?
学习Git跟你使用的语言无关,只要你参与到程序开发中,就很有可能接触到Git,或者可以用Git帮助你进行开发。因此在这一点上,你不用再纠结于是该选择C++、Java、Python……当然,Git也有同类产品可供选择,但对于目前的你,有足够多的理由去学习Git,哪怕以后你不再使用它。
说了这么多,还没有进入今天的正题:Git到底是个什么东西?
Git是一个版本控制系统(Version Control System)。
那什么又是“版本控制系统”呢?
想象一下这样的场景:你再写一个程序,这个程序对你来说有一点“大”,不是一个晚上就能解决的。比如我们之前的打飞机小游戏。于是编写的过程中,你需要保存代码,下次接着写。另外,当你花了两个晚上,完成了最基本的功能后,第三天晚上,你又想尝试给你的游戏增加点新功能,比如你的飞机可以扔炸弹消灭屏幕上的所有敌人。那么你就得在之前的代码上做改动。
这时候,不幸的事情发生了!
你发现你改动了一些代码之后,程序无法正常运行了。你想算了,还是恢复到之前那样吧。但是代码被改动的地方比较琐碎,你发现把印象中所有的改动都改了回去,程序一样无法运行。于是你就陷入了抓狂。
即使你不是一个程序员,你也可能遭遇过类似的“悲剧”,比如误删了word文档中的一段话后手贱地点了保存,之后又想把那段找回来的时候才追悔莫及。人世间的事情大多如此吧……
于是,吃过苦头的人会给自己留条后路,再保存文件的时候选择“另存为 Save As”而不是直接在原文件上保存。于是你的文件夹中就出现了诸如:
report131106.doc
myslide-updated.ppt
loveletter_old001.txt
之类的文件。
其实这就是一种最简陋的版本控制系统。
本人当年上学的时候,第一次接触到版本控制这个概念时,就是用这种方式来解决的。我们从团队中挑选出一人(好吧,就是我)专门负责维护一台电脑上的一个文件夹。文件夹里分门别类地保存着项目的文档和代码的不同版本。
现在回想起来,这是怎样一种勤劳而又愚昧的做法。你需要去小心每个版本不要放错了位置,每天开发完要把代码发给专人整理,甚至在宿舍断网的时候要用u盘去copy最新的代码,再把最新的代码交给需要进行修改的人……
但其实早就不必如此。版本控制系统就是把你从这片苦海中拯救出来的工具。
通过版本控制系统,可以有效地追踪文件的变化。当代码出错的时候,可以很容易地恢复到之前的状态。对于多人协作开发的项目来说,版本控制系统更是必不可少。它保证每个人都能够获取最近更新的代码,每个人开发的代码可以更方便地增加到项目中,避免不同代码之前产生的冲突,减小沟通成本。
其实它做的事情本质还是在某个地方,记录下所有文件的所有版本,只不过比在电脑上建很多文件夹的方法更合理、更便捷、更稳定。让你可以把精力集中在开发代码本身,而不用关注其他琐碎的问题。
而Git就是时下最流行的版本控制系统。
关于Git有哪些具体的功能和特性,在以后的课程中会具体分析。另外,说Git就不能不说到GitHub。它又是什么?请看下节课。
共有 0 条评论