张芷铭的个人博客

Git 是分布式版本控制系统,每个本地仓库都是完整的代码库,无需依赖中央服务器即可完成大多数操作。

核心架构:四区模型

区域作用
工作目录开发者直接编辑的代码目录
暂存区git add 暂存待提交的修改
本地仓库git commit 提交后的完整历史
远程仓库团队协作的共享代码库

数据存储

Git 采用内容寻址存储,所有对象通过 SHA-1 哈希唯一标识:

  • Blob:存储文件内容
  • Tree:记录目录结构
  • Commit:包含作者、时间、父提交

常用命令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# 初始化
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

[[git团队协作工作流]] | [[git merge 和 rebase 的详细流程和对分支图的影响]]

Comments