Git 是分布式版本控制系统,每个本地仓库都是完整的代码库,无需依赖中央服务器即可完成大多数操作。
核心架构:四区模型
| 区域 | 作用 |
|---|---|
| 工作目录 | 开发者直接编辑的代码目录 |
| 暂存区 | git add 暂存待提交的修改 |
| 本地仓库 | git commit 提交后的完整历史 |
| 远程仓库 | 团队协作的共享代码库 |
数据存储
Git 采用内容寻址存储,所有对象通过 SHA-1 哈希唯一标识:
- Blob:存储文件内容
- Tree:记录目录结构
- Commit:包含作者、时间、父提交
常用命令
# 初始化
git init
git add .
git commit -m "first"
git push -u origin main
# 日常
git add . && git commit -m "sync" && git push
# 高级操作
git rebase -i HEAD~3 # 交互式变基
git stash # 暂存未完成修改
git blame file.js # 查看文件修改历史分支策略
- Git Flow:master(生产)、develop(开发)、feature/*(功能分支)
- Trunk-Based:小型团队直接在 main 分支开发
最佳实践
- 提交规范:采用 Conventional Commits 格式
- 大文件:使用
git lfs track "*.psd" - 部分克隆:
git clone --filter=blob:none