Git 入门知识详解
文章目录
- 一、Git 是什么
- 1、Git 简介
- 2、Git 的诞生
- 3、集中式 vs 分布式
- 3.1 集中式版本控制系统
- 3.2 分布式版本控制系统
- 二、GitHub 与 Git 安装
- 1、GitHub
- 2、Git 安装
一、Git 是什么
1、Git 简介
Git 是目前世界上最先进的分布式版本控制系统。版本控制系统能帮助我们更好地管理文件内容的版本。以用 Microsoft Word
写毕业论文为例,手动复制文件管理版本存在诸多问题:
- 版本回退麻烦:难以快速找回特定历史版本的内容。
- 文件管理混乱:大量相似文件难以取舍,不敢随意删除。
- 协作困难:文件传递和合并改动操作复杂。
理想的版本控制软件应能自动记录文件改动,支持回退到任意历史版本,只呈现最新版本文件,还能支持多人协作编辑。为此,出现了一批版本控制软件,如 VSS、CVS、SVN、Git 等,其中 Git 占据绝对霸主地位。一般版本控制工具包含客户端(本地编写内容及记录版本)和服务端(可将内容和版本记录保存在远程)两部分。
2、Git 的诞生
1991 年 Linus 创建了开源的 Linux 系统,在 2002 年以前,世界各地志愿者通过 diff 方式将源代码文件发给 Linus,由他手工合并代码。Linus 反对使用集中式的 CVS 和 SVN,因其速度慢且必须联网使用,而商用版本控制系统需付费,不符合 Linux 开源精神。
2002 年,Linux 代码库规模增大,Linus 选择了商业版本控制系统 BitKeeper,BitMover 公司授权 Linux 社区免费使用。2005 年,因 Linux 社区有人试图破解 BitKeeper 协议,BitMover 公司要收回免费使用权。Linus 花两周时间用 C 编写了分布式版本控制系统 Git,一个月内 Linux 系统源码就由 Git 管理。2008 年,GitHub 网站上线,为开源项目免费提供 Git 存储,众多开源项目迁移至此。
3、集中式 vs 分布式
3.1 集中式版本控制系统
- 特点:必须有中央服务器,中央服务器存放所有版本信息,程序员机器上只有某个版本,开发工作依赖中央服务器,需提交新版本或拉取最新版本。
- 缺点:必须联网才能工作。若中央服务器在局域网,程序员回家无法加班;若在互联网,带宽和网速受限,影响文件提交速度。
- 常见工具:CVS 是最早的开源免费集中式版本控制系统,但存在提交文件不完整、版本库损坏等问题;SVN 修正了 CVS 的一些稳定性问题,是目前使用最多的集中式版本库控制系统;还有收费的 IBM ClearCase,安装大、运行慢;微软的 VSS 设计反人类,微软自己都很少使用。
3.2 分布式版本控制系统
- 特点:可以有中央服务器,中央服务器存放所有版本信息,程序员机器上也保存所有版本,中央服务器主要起网盘作用,即便没有也可正常工作。
- 协作方式:每个人电脑都是完整版本库,工作时无需联网。多人协作时,可互相推送修改。
- 优势:安全性高,某个人电脑坏掉可从其他人处复制版本库。实际使用中,通常有一台充当“中央服务器”的电脑方便交换修改。
- 常见工具:除 Git 和 BitKeeper 外,还有 Mercurial 和 Bazaar 等,其中 Git 最快、最简单、最流行。
二、GitHub 与 Git 安装
1、GitHub
GitHub 是基于 Git 的远程文件托管平台,类似的还有 GitCafe、BitBucket 和 GitLab 等。Git 本身可实现版本控制,但内容和版本记录只能保存在本机,结合 GitHub 可将文件内容和版本记录同时保存在远程。使用场景分为无 GitHub 时仅在本地 .git 文件夹维护历史文件,有 GitHub 时在本地维护的同时将历史文件托管在远程仓库。
2、Git 安装
安装可参考:网址。Mac 和 Windows 系统下安装简单,点击操作即可;Linux
系统下安装步骤为解压、./configure、make、make install 。