Git 工作流程
本章将深入介绍 Git 的工作流程,帮助你理解 Git 是如何管理文件版本的,以及不同操作在整个流程中的作用。
Git 工作流程概览
Git 的工作流程可以简化为以下几个步骤:
详细工作流程图
四个工作区域详解
1. 工作区 (Working Directory)
定义:你实际编辑文件的地方,就是你在文件管理器中看到的项目文件夹。
特点:
- 包含项目的实际文件
- 可以自由编辑、创建、删除文件
- Git 会监控这个区域的文件变化
示例操作:
2. 暂存区 (Staging Area/Index)
定义:一个临时区域,用来存放即将提交的文件快照。
特点:
- 是工作区和仓库之间的缓冲区
- 可以选择性地添加文件修改
- 允许精确控制每次提交的内容
示例操作:
3. 本地仓库 (Local Repository)
定义:存储项目完整历史记录的地方,位于 .git 文件夹中。
特点:
- 包含所有提交的完整历史
- 存储分支和标签信息
- 完全离线工作
示例操作:
4. 远程仓库 (Remote Repository)
定义:托管在网络上的仓库副本,用于团队协作。
特点:
- 通常托管在 GitHub、GitLab 等平台
- 多人可以访问和协作
- 作为项目的"权威"版本
示例操作:
典型工作流程示例
让我们通过一个完整的例子来演示 Git 工作流程:
场景:开发一个新功能
1. 准备工作
2. 创建初始文件
输出:
3. 添加到暂存区
输出:
4. 提交到本地仓库
输出:
5. 开发新功能
6. 分阶段提交
7. 推送到远程仓库
文件状态生命周期
Git 中的文件有四种状态:
文件状态详解
-
Untracked(未跟踪)
- 新创建的文件
- Git 不会自动跟踪
- 需要
git add来开始跟踪
-
Staged(已暂存)
- 已添加到暂存区的文件
- 准备在下次提交中包含
- 可以用
git restore --staged取消暂存
-
Committed(已提交)
- 已保存到本地仓库的文件
- 成为项目历史的一部分
- 可以安全地修改或删除
-
Modified(已修改)
- 已跟踪但在工作区被修改的文件
- 需要重新添加到暂存区才能提交
查看文件状态
常见工作流程模式
1. 基本个人开发流程
2. 功能分支开发流程
3. 协作开发流程
工作流程最佳实践
1. 提交频率
2. 提交信息规范
3. 暂存区的使用
4. 工作区管理
工作流程故障排除
常见问题和解决方案
1. 忘记添加文件到暂存区
2. 提交信息写错了
3. 工作区有未保存的修改,需要切换分支
4. 误删了文件
可视化工具
命令行可视化
图形化工具推荐
- GitKraken - 美观的跨平台客户端
- SourceTree - 免费的 Git 客户端
- GitHub Desktop - GitHub 官方客户端
- VS Code - 内置 Git 支持的编辑器
总结
Git 工作流程的核心是理解四个区域之间的关系:
- 工作区 →
git add→ 暂存区 - 暂存区 →
git commit→ 本地仓库 - 本地仓库 →
git push→ 远程仓库
掌握这个流程后,你就能:
- ✅ 有效管理代码版本
- ✅ 与团队成员协作
- ✅ 安全地实验新功能
- ✅ 追踪项目历史
在下一章中,我们将深入学习工作区、暂存区和版本库的具体概念和操作。