Git 概述

Git 不仅仅是个版本控制系统,也是内容管理系统(CMS)、工作管理系统。

一、概述

1. 什么是版本控制?

版本控制是一种在开发的过程中管理、查看、恢复工程文件历史记录的软件工程技术。

它可以用于:

  • 实现跨区域多人协同开发
  • 追踪文件的历史记录
  • 组织和保护源代码
  • 统计工作量
  • 提升开发效率
  • 减轻开发人员的负担

2. 什么是分布式版本控制?

所有的版本信息都同步到本地,因此:

  • 可以在本地查看所有版本历史
  • 可以在本地进行离线提交
  • 每个人都将拥有完整的代码及版本数据。

3. 什么是 Git?

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

二、特点

1. 直接记录快照,而非差异对比

于其它版本控制系统关心文件的具体差异不同,Git 只关心文件数据的整体是否发生变化。

  • 其它版本控制系统关心文件的具体差异,会记录文件的具体更新内容

  • Git 只关心文件是否发生改变,会将文件的各个版本存储在一个微型的文件系统中

2. 操作可以离线执行

所有的版本信息都同步到本地,因此在 Git 中绝大多数操作都只需要访问本地文件,无需联网。

三、工作流程

  • 克隆 Git 仓库作为工作目录

  • 在 Git 仓库中添加或修改文件

  • 更新以便获取其他人对 Git 仓库的修改

  • 在提交前查看修改

  • 提交修改

  • 在修改完成后,如果发现错误,可以撤回提交并再次修改提交

四、工作区、暂存区和版本库

  • 工作区(Working Directory):存放源代码的区域

  • 暂存区(Stage/Index):实际上只是一个文件,用来保存即将提交的文件列表信息,一般存放在 .git/index

  • 版本库 (Repository):安全存放数据的位置,这里面有你提交到所有版本的数据

  • 远程仓库(Remote Directory):托管代码的服务器

参考