Git 的三种状态
约 425 字大约 1 分钟
布欧-Lewyon
2026-05-15
三个区域
Git 的文件流转经过三个区域:
| 区域 | 说明 | 存储位置 |
|---|---|---|
| 工作区 | 你正在编辑的文件 | 文件系统 |
| 暂存区 | 下次提交的候选内容 | .git/index |
| 仓库 | 已提交到本地数据库 | .git/objects |
三种状态
| 状态 | 说明 | git status 显示 |
|---|---|---|
| Untracked | 新建文件,Git 还没跟踪 | Untracked files |
| Modified | 已跟踪但修改后未暂存 | Changes not staged for commit |
| Staged | 修改已添加到暂存区 | Changes to be committed |
| Committed | 已提交到仓库 | 不显示 |
文件生命周期
# 1. 新建文件 → Untracked
echo "hello" > readme.txt
# 2. git add → Staged
git add readme.txt
# 3. git commit → Committed
git commit -m "add readme"
# 4. 修改文件 → Modified
echo "world" >> readme.txt
# 5. git add → Staged(再次)
git add readme.txt
# 6. git commit → Committed(再次)
git commit -m "update readme"确认状态
# 完整状态
git status
# 简短模式
git status -s
# ?? readme.txt ← Untracked
# M readme.txt ← Modified(M 在右边)
# M readme.txt ← Staged(M 在左边)
# MM readme.txt ← Modified + Staged(先暂存又修改)小结
- Git 的三个区域:工作区 → 暂存区 → 仓库。
- 文件的四种状态:Untracked → Modified → Staged → Committed。
git status查看当前状态,-s简短格式左边表示暂存区状态、右边表示工作区状态。- 标准提交流程:编辑 →
git add→git commit。
