git学习(一)
起步
什么是版本控制
版本控制是一个记录文件内容变化,以便将来查阅特定版本文件的系统。
版本控制系统分类
本地版本控制系统
如RCS,原理是本地保存补丁集(补丁是指文件修订前后的变化),通过应用补丁集计算出各版本的文件内容。

集中化版本控制系统
在这类系统中,开发者们可以向一台服务器提交更新或取回最新文件,
即把不同修订版本保存在服务器上,让这台服务器集中管理。

不过,这类系统当服务器故障时开发者将无法提交更新,甚至可能丢失所有历史更新记录。
分布式版本控制系统
与集中式版本控制系统不同的是,分布式版本控制系统每次取回实际上是克隆整个代码仓库。
即将服务器上的代码仓库镜像下来,这样当服务器故障时就可以用本地仓库恢复。

由于这类系统可以分别与多个远程仓库进行交互,所以我们就可以在同一个项目中,分别和不同小组相互协作。
什么是Git
Git是一种分布式版本控制系统,有以下特点:
- 直接记录快照而不是差异比较
- 近乎所有操作都是本地执行
- 通过引用校验和保证完整性
- 只添加数据
Git有三种状态:
- 已修改:修改了文件,但还没保存到数据库中。
- 已暂存:对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
- 已提交:数据已经安全保存在本地数据库中。
这让Git项目有三个阶段:
- 工作目录:对项目某个特定版本的检出(checkout),从Git仓库提取到本地的文件。
- 暂存区:保存待提交文件列表信息的文件,也称索引。
- Git目录:保存项目项目元数据和对象数据库的地方,是克隆(clone)时复制的数据。

结合上面的概念我们可以介绍基本Git的工作流程:
- 工作区中修改文件。
- 暂存将提交文件。
- 提交更新,找到暂存文件,将快照存储到Git目录。
初次运行Git前的配置
Git带有git config用来设置控制Git外观和行为的配置变量,
这些变量分别存储在三个位置:
| 文件 | 说明 | 如何修改 |
|---|---|---|
| /etc/gitconfig | 通用配置文件 | 执行git config时带上--system选项 |
| ~/.gitconfig或~/.config/git/config | 当前用户配置文件 | 执行git config时带上--global选项 |
| .git/config | 当前仓库配置文件 | 执行git config时带上--local选项或不带选项(默认) |
每一级别都会覆盖上一级别配置。
安装完Git,你要做的第一件事就是设置你的用户名和邮箱地址,因为每一次Git提交都需要这些信息:
git config --global user.name "xx"
git config --global user.email "xx@xx.com"
相关命令
| 命令 | 说明 |
|---|---|
git config --list |
查看配置 |
git config --list --show-origin |
查看配置及其所在位置 |
git config <key> 如:git config user.name |
查看Git的特定配置 |
git help <verb> 如:git help config |
获取命令手册 |
git <verb> -h 如:git config -h |
获取快速参考 |
浙公网安备 33010602011771号