(1) 版本控制
- 本地式
- 大都是采用数据库记录文件的差异
- 典型的有rcs,主要保存并管理文件补丁,根据补丁去计算各版本文件内容
- 缺点:无法协同工作
- 集中式
- 通过一个单一的集中服务器去管理所有文件的修订版本
- 典型的有CVS,Subversion,以及Perforce
- 缺点
- 宕机无法提交更新,无法协同工作
- 服务器故障,丢失数据(单点故障)
- 无法保存所有版本记录
- 分布式
- 客户端不只是提取最新的文件快照,而是将代码仓库完整的镜像下来
- 典型的有 Git,Mercurial,Bazaar 以及 Darcs
- 有点
- 便于协同工作
- 易于仓库恢复
(2) Git与其他版本控制系统的不同
Git直接记录文件快照,而非差异比较
其他版本控制系统 Git
(3) Git的优势
- 近乎所有的操作都再本地进行
- 时刻保持数据完整性多数操作仅添加数据
- Git 使用 SHA-1 算法计算出一个作为指纹字符串,来作为数据的唯一标识和索引
(4) 文件的三种状态
- working directory(工作目录)
- staging area(暂存区域)git repository(Git仓库)
- 个人理解:暂存区域用来保存想丢失的文件,但是又不想立即提交的文件
(5) 几种安装
- 源代码安装
- Linux安装
- Mac安装
- Windows安装
(6) Git的工作环境变量
-
/etc/gitconfig
文件:系统中对所有用户都普遍适用的配置- git config --system -l
-
~/.gitconfig
文件:用户目录下的配置文件只适用于该用户- git config --global -l
- 当前工作目录中的
.git/config
文件- git config --local -l
(7) Git帮助
- git help <verb>
- git <verb> --help
- man git-<verb>