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条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注