1. “三棵树”
1.1 前言
- 理论上要稍稍复杂一点
- 我在这里说得简化一点
- 顺道挖个坑
- 下回具体介绍
- 坑号编码:Git07-1
1.2 看图
1.3 简介
- 树左:工作区(平时写代码的地方)
- 树中:暂存区(临时存档;类似图书馆暂存物品的柜子)
- 树右;仓库(存放所有数据的地方;HEAD 的指向为当前版本)
2. 向本地仓库加入文件
2.1 准备
- 切至目标仓库路径
- 新建一个文件(比如,我新建一个 "README.md")
- 此时的 "README.md" 在工作区
2.2 查看状态
- 使用
git status
- 上图大致意思是说
- 当前分支为 "master" 分支
- 目前还没进行过 "commit"
- "README.md" 未被“追踪”(注意,此时的 "README.md" 是红色的)
- 建议使用
git add <file>
来提交内容
- 此操作没有回馈(没有消息就是最好的消息)
2.4 继续查看
- 上图大致意思是说
- 当前分支为 "master" 分支
- 目前还没进行过 "commit"
- README.md 可以被“提交”,(注意,此时的 "README.md" 是绿色的)
- 提示
- 命令:
git rm --cached <file>
- 作用:将刚刚 "add" 进 "stage" 的文件(改变)“踢出去”
- 命令:
2.5 使用上方提示的命令
- 命令:
git rm --cached README.md
分析
- 工作区的 "README.md" 还在,并且没有改变
- 暂存区刚刚 "add" 进去的 "README.md" 被删除了
- "--cached" 在 [Git] 009 逆转未来 的 "3.2" 还会提到
2.6 恢复
- 重复 "2.3" 的操作
2.7 将文件加入本地仓库
命令:
git commit
画面跳转
- 加入解释说明,保存退出(使用 "vi / vim" 的方法)
- 画面跳回
- 上图第 5 行的 "100644"
- "100" 指常规文件
- "644" 指文件权限,详情可见 [Linux] 010 权限管理命令 chmod 的 "chmod" 部分