Git 基础
1. git 的四个工作区域
- 工作区(Workspace): 平时存放项目代码的地方
- 暂存区(Index、Stage): 用于临时存放你的改动,保存即将提交到文件列表信息
- 仓库区(Repository): 这里面有你提交到所有版本的数据,也称为版本库
- 远程仓库(Remote): 托管代码的服务器
2. git 工作的一般流程
- 在workspace中添加、修改文件
- 将要提交的文件放入stage
- 将stage中的文件提交到git仓库
3. 文件的五种状态
- Untracked :未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged
- Unmodified :文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 则变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
- Modified :文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 或使用git checkout 丢弃修改, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改
- Staged :暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存,文件状态为Modified
4. git命令
当使用git clone下来的工程中带有submodule时,初始的时候,submodule的内容并不会自动下载下来的,此时,只需执行如下命令,即可将子模块内容下载下来后工程才不会缺少相应的文件
git submodule update --init --recursive