【Git 第1课】 什么是Git?

今天起,我会在微信推送文章里穿插一个新的系列:Git。和之前Python入门教程不同,这个系列需要有一点编程的经验。倒不是因为它很难,只是如果没有开发过稍大一点的项目,或者没有和别人合作开发过,你可能无法理解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。它又是什么?请看下节课。

#==== Crossin的编程教室 ====#

面向零基础初学者的编程课

每天5分钟,轻松学编程

回复 p 查看python课程

回复 g 查看pygame课程

回复 i 查看Git课程

回复 t 查看习题

回复 w 查看其他文章

原文发布于微信公众号 - Crossin的编程教室(crossincode)

原文发表时间:2013-11-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Debian社区

Chrome浏览器中新增反恶意软件广告功能

谷歌宣布在Chrome浏览器中新增三个安全功能,阻止网站在未经用户或网站所有人同意的情况下悄悄将用户重定向至新的网址。

1282
来自专栏知晓程序

玩腻了传纸条、漂流瓶,就用它来跟网友分享「小卡片」吧

今天,知晓程序(微信号 zxcx0101)就为你推荐一款有毒的小程序「一起 Up」,在里面,你不仅可以看到其他用户分享的有趣、有内涵的内容,还能将自己的私货与其...

914
来自专栏黑白安全

物联网厂商 CalAmp 服务器配置错误,黑客可盗窃数据、接管车辆

安全研究人员发现,CalAmp(一家为多个知名系统提供后端服务的公司)运营的一台服务器因为错误配置,黑客可借助该漏洞接入账号数据,甚至直接接管相关车辆。

863
来自专栏SAP最佳业务实践

SAP最佳业务实践:FI–现金管理(160)-28现金集中-F111运行清算付款请求

4.8.3 F111通过 F111-付款运行清算付款请求 可以使用付款程序对客户和供应商进行付款,或在总分类帐户间使用。和标准付款程序不同,此付款不是建立在未清...

3997
来自专栏安恒信息

运维安全中的“福尔摩斯”

引 言 随着互联网技术的发展,信息的交互越来越频繁,随之而来信息的安全、运维操作的合规性等等问题越来越多,其对于企业内部管理来说要求越来越高。2015年某某网...

3827
来自专栏web前端教室

领读《深入浅出NODEJS》—第二章 模块机制

领读,领你读,把书的重点提出来。尝试以知识管理、快速阅读的方式来学习。 为什么要写这个类型的文章呢?第一是想要学习NODEJS了,第二是觉得之前写了那么多的学习...

2178
来自专栏北京马哥教育

25台服务器怎样支撑世界第54大网站

摘要:同时使用Linux和Windows平台产品,大量使用静态的方法和类,Stack Overflow是个重度性能控。同时,取代横向扩展,他们坚持着纵向扩展思路...

7499
来自专栏镁客网

「产品」揭秘全球首款Android PC的奥秘

1673
来自专栏FreeBuf

记一次完整的办公网渗透到idc过程

前言: 看到各位大神分享他们内网渗透的经验与技巧,小菜打算也来分享分享。 http://www.freebuf.com/articles/sys...

3087
来自专栏Flutter入门到实战

从内涵段子被下架、快手禁用评论探讨其背后的技术细节

由于后台接口没有返回数据了,界面上自然都是空白,你看内涵段子上面的所有的列表的item都显示的是同一个View,就是下面的这个声明。其实只要把所有的item替换...

2412

扫码关注云+社区

领取腾讯云代金券