Git 工作流最佳实践
良好的 Git 工作流能显著提升团队协作效率。本文整理了几种主流模式与实用技巧。
分支策略
主流分支模型大致分为三种:
| 模型 | 适用场景 | 复杂度 |
|---|---|---|
| GitHub Flow | 持续部署、小团队 | 低 |
| Git Flow | 版本化发布、大团队 | 高 |
| Trunk-based | 高频发布、成熟 CI/CD | 中 |
对于个人博客或小型项目,GitHub Flow 最为简洁:只有 main 分支和功能分支,合并即发布。
常用命令速查
初始化与克隆
git init # 初始化新仓库
git clone <url> # 克隆远程仓库
git clone <url> --depth 1 # 浅克隆,只取最新一次提交
日常提交
git status # 查看当前状态
git add -p # 交互式暂存(按块选择)
git commit -m "feat: 新增登录功能"
git push origin main
撤销操作
# 撤销工作区的修改(不可恢复)
git checkout -- <file>
# 撤销上一次提交,保留修改到工作区
git reset HEAD~1
# 撤销已推送的提交(生成新提交,安全)
git revert <commit-hash>
Commit Message 规范
推荐使用 Conventional Commits 格式:
<type>(<scope>): <subject>
[optional body]
[optional footer]
常用 type:
feat— 新功能fix— Bug 修复docs— 文档变更refactor— 重构(不涉及功能或 Bug)chore— 构建/工具链变更
示例:
feat(auth): 添加 OAuth2 登录支持
支持 GitHub 和 Google 两种第三方登录方式。
关闭 #42
实用技巧
快速切换到上一个分支
git checkout -
储存临时修改
git stash # 储存当前修改
git stash pop # 恢复最近的储存
git stash list # 查看所有储存
查找引入 Bug 的提交
git bisect start
git bisect bad # 当前版本有 Bug
git bisect good v1.0 # v1.0 正常
# Git 自动二分查找,每次标记 good/bad
git bisect reset # 查找结束,恢复 HEAD
提示:
git bisect结合自动化测试脚本使用效果最好:git bisect run npm test
.gitignore 模板
# 依赖
node_modules/
.pnp.js
# 构建输出
dist/
build/
.next/
# 环境变量(绝不提交)
.env
.env.local
# 编辑器
.vscode/
.idea/
*.swp
# 系统文件
.DS_Store
Thumbs.db
掌握这些基础之后,建议进一步了解 git rebase(变基)和 git worktree(多工作区),它们在处理复杂分支场景时非常实用。