Git 管理文件分三个区域:
| 区域 | 说明 | 操作命令 |
|---|---|---|
| 工作区 (Working Directory) | 本地实际文件,直接编辑的地方 | 编辑文件 |
| 暂存区 (Staging Area / Index) | 准备提交的快照,临时保存区 | git add |
| 版本库 (Repository) | 已提交的历史记录,本地 .git 目录 | git commit |
Git 分支本质上是指向某个提交对象的可变指针。HEAD 是一个特殊指针,指向当前所在的分支(或直接指向某个提交,即"游离头"状态)。创建分支的成本极低(仅创建一个41字节的文件),因此 Git 鼓励频繁使用分支。
| 工作流 | 适用场景 | 特点 |
|---|---|---|
| Git Flow | 有版本发布周期的项目 | main + develop + feature/release/hotfix 分支 |
| GitHub Flow | 持续部署的项目 | main + feature 分支,PR 合并即发布 |
| Trunk Based | 大型团队 / DevOps | 所有人直接提交到 main,配合 Feature Flag |
| 操作 | 历史记录 | 适用场景 |
|---|---|---|
| git merge | 保留完整历史,产生合并提交 | 合并公共分支(main/develop) |
| git rebase | 线性历史,重写提交基点 | 整理个人分支、保持干净历史 |