# 二、Git相应要求
## Git是什么?
Git是目前世界上最先进的分布式版本控制系统(没有之一)。
## Git 参考:
[廖雪峰博客](https://www.liaoxuefeng.com/wiki/896043488029600)
[菜鸟教程](https://www.runoob.com/git/git-tutorial.html
)
## 集成的Git插件
Git如今已经各大主流IDE所集成,例如VS,VSC,JB全家桶
## 版本管理存储方式
- Git将代码版本按照链式数据储存,每次的提交都有分配的一个commit码
- master分支 HEAD指针
- 工作区、暂存区、版本库概念:
../image/
|  |
| :-------------------------------------------------------------------------------------: |
| *工作区、暂存区、版本库的概念* |
- 工作区:就是你在电脑里能看到的目录。
- 暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中, 所以我们把暂存区有时也叫作索引(index)。
- 版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。
## git指令
| **命令** | **说明** |
| ---------- | ---------------------------------------- |
| git init | 初始化仓库 |
| git clone | 拷贝一份远程仓库,也就是下载一个项目。 |
| git add | 添加文件到仓库 |
| git status | 查看仓库当前的状态,显示有变更的文件。 |
| git diff | 比较文件的不同,即暂存区和工作区的差异。 |
| git commit | 提交暂存区到本地仓库。 |
| git reset | 回退版本。 |
| git rm | 删除工作区文件。 |
| git mv | 移动或重命名工作区文件。 |
| git log | 查看历史提交记录 |
| git fetch | 从远程获取代码库 |
| git pull | 下载远程代码并合并 |
| git push | 上传远程代码并合并 |
| git stash | 暂存代码 |
| git tag | 添加标签 |