注:本文仅为作者在w3cschool的《git使用手册》学习过程中的笔记
一、简介
- git是一种分布式版本管理系统,最初是为了管理linux内核版本开发而发明
版本控制系统
- 本地版本控制系统(VCS)
(1)老式本地版本控制系统
(2)集中化版本控制系统(CVCS)
缺点: 管理困难,存在单点故障风险 - 分布式版本控制系统(DVCS)
每一个客户端都对整个代码仓库进行克隆备份,有效解决单点故障问题
git 和其他系统的区别
- 其他系统:关注版本的差异
- git : 每一次都完整记下整个系统状态
git 特点
- 所有操作可在本地,无网环境下进行
- 时刻保持数据完整性:校验和计算
- 多数操作仅增加数据
文件的三种状态:已提交(committed),已修改(modified)和已暂存(staged)
- 基本的 Git 工作流程如下:
- 在工作目录中修改某些文件。
- 对修改后的文件进行快照,然后保存到暂存区域。
- 提交更新,将保存在暂存区域的文件快照永久转储到 Git 目录中。
二、配置
- 查看配置:
git config --list
- 查看特定变量配置:
git config user.name
环境变量
环境变量存放在三个不同地方:
/etc/gitconfig
文件
- 配置时使用
git config --system
,适用于所有用户
~/.gitconfig
文件
- 配置时使用
git config --global
,适用于特定用户
- 当前项目的工作目录中的
.git/config
文件,仅对当前项目有效
tips:每一个级别的配置都会覆盖上层的相同配置
三、常见操作
项目仓库的获取
- 在工作目录中新建仓库:
(1)在项目目录下,使用$ git init
(2)对要加入版本控制的文件(如:test.c)使用:$ git add test.c
(3)提交:git commit -m 'initial project version'
- 克隆仓库:
git clone [url] mygrit
(如:git clone git://github.com/schacon/grit.git mygrit
,从远程服务器克隆镜像,并命名为mygrit)
tips:git支持很多协议,有时git会比https更快
Git 查看提交历史
#查看所有提交历史
$ git log
$ git log -p -2 # -p 选项展开显示每次提交的内容差异,-2 则仅显示最近的两次更新
撤消操作
go ahead