3.git初始化和基础概念
Git操作的终极结果:让工作区中的文件都处于最初“未修改”的状态。
未修改(Unmodified)工作区中文件的内容和 Git仓库中文件的内容保持一致
在Git中的绝大多数操作都只需要访问本地文件和资源,一般不需要来自网络上其它计算机的信息。它具有以下特性:
- 断网后依旧可以在本地对项目进行版本管理
- 联网后,把本地修改的记录同步到云端服务器即可
所以获取git也有2种方式
- 将尚未进行版本控制的本地目录转换为Git仓库
- 在项目目录中,通过鼠标右键打开“Git Bash'
- 执行 git init 命令将当前的目录转化为Git仓库,git init 命令会创建一个名为.git的隐藏目录,这个.git目录就是当前项目的Git仓库,里面包含了初始的必要文件,这些文件是Git仓库的必要组成部分。

git init
- 从其它服务器克隆一个已存在的Git仓库(暂时不表述)
以上两种方式都能够在自己的电脑上得到一个可用的 Git仓库.
三个区域
- 工作区(Working tree)
- 暂存区(Staging area)
- 版本库 (Repository)
二大类四种状态
未被git管理
- 未跟踪(Untracked)不被Git 所管理的文件 即该文件所在目录未被git init
已被git管理
- 已修改(Modified)工作区中文件的内容和Git仓库中文件的内容不一致
- 已暂存(Staged)工作区中被修改的文件已被放到暂存区,准备将修改后的文件保存到Git仓库中
- 未修改(Unmodified)工作区中文件的内容和 Git仓库中文件的内容保持一致

git的工作流程
注意:
- 工作区的文件被修改了,但还没有放到暂存区,就是已修改状态。
- 如果文件已修改并放入暂存区,就属于已暂存状态。
- 如果Git仓库中保存着特定版本的文件,就属于已提交状态。

除工作区外,暂存区,版本库为空,此时状态为modified

使用git add命令提交后,暂存区缓存文件,版本库为空 此时状态为已暂存(staged)

使用git commit把暂存区的所有修改提交到版本库,并清空暂存区此时状态为(Unmodified)