Git 工作流实战指南 —— 从入门到日常使用

Git 工作流实战指南 —— 从入门到日常使用

Someone Lv5

Git 是现代软件开发中不可或缺的版本控制工具。无论是个人项目还是团队协作,掌握 Git 工作流都能大幅提升效率。这篇文章从实际场景出发,分享日常开发中最常用的 Git 操作和最佳实践。

🔰 基础概念

在深入工作流之前,先理清几个核心概念:

1
工作区 (Working Directory) → 暂存区 (Staging Area) → 本地仓库 (Local Repo) → 远程仓库 (Remote Repo)
  • 工作区:你实际编辑代码的目录
  • 暂存区:准备提交的变更集合
  • 本地仓库:已经提交到本地的版本历史
  • 远程仓库:托管在服务器上的版本(如 GitHub、Gitee)

🚀 日常开发工作流

1. 获取最新代码

开始新功能前,先确保本地代码是最新的:

1
git pull origin main

推荐使用变基(rebase)而非合并(merge),保持提交历史整洁:

1
git pull --rebase origin main

2. 创建功能分支

不要在主干分支上直接开发,新建一个功能分支:

1
git checkout -b feature/新功能名称

分支命名规范:

  • feature/xxx — 新功能
  • fix/xxx — 修复
  • refactor/xxx — 重构
  • docs/xxx — 文档

3. 日常提交

开发过程中,保持小而频繁的提交:

1
2
3
4
5
6
7
8
9
10
# 查看变更
git status
git diff

# 添加文件到暂存区
git add 文件名 # 添加指定文件
git add . # 添加所有变更

# 提交
git commit -m "feat: 添加用户登录功能"

提交信息规范(Conventional Commits):

类型 场景 示例
feat 新功能 feat: 添加文章搜索功能
fix 修复 fix: 修复导航栏闪退问题
docs 文档 docs: 更新 README
style 样式 style: 调整卡片间距
refactor 重构 refactor: 拆分用户服务模块
perf 性能 perf: 优化图片加载速度

4. 推送与同步

1
2
3
4
5
# 首次推送新分支
git push -u origin feature/新功能名称

# 后续推送
git push

如果远程有新的提交,先拉取再推送:

1
2
git pull --rebase origin main
git push

5. 合并到主干

功能开发完成后,合并回主干分支:

1
2
3
4
git checkout main
git pull --rebase origin main
git merge feature/新功能名称
git push origin main

🔥 场景实战

场景一:提交了错误的文件

1
2
3
4
5
6
7
8
9
# 从暂存区移除(保留工作区修改)
git reset HEAD 文件名

# 撤销工作区修改
git checkout -- 文件名

# 或者用新语法
git restore 文件名 # 撤销工作区修改
git restore --staged 文件名 # 从暂存区移除

场景二:修改最后一次提交

1
2
3
4
5
6
# 修改提交信息
git commit --amend -m "新的提交信息"

# 添加遗漏的文件到上次提交
git add 遗漏的文件
git commit --amend --no-edit

注意--amend 会改写提交历史,仅适用于尚未推送的提交。

场景三:暂存当前工作

正在开发新功能,突然需要修复一个紧急 Bug:

1
2
3
4
5
6
7
8
9
10
# 暂存当前工作区
git stash

# 切换到其他分支修复 Bug
git checkout main
# ... 修复并提交 ...

# 回到原分支,恢复工作区
git checkout feature/xxx
git stash pop

场景四:撤销到指定版本

1
2
3
4
5
6
7
8
# 查看提交历史
git log --oneline -10

# 软重置(保留工作区修改)
git reset --soft HEAD~2

# 硬重置(丢弃所有修改,慎用!)
git reset --hard 提交ID

🛡️ 安全最佳实践

1. 永远不要提交敏感信息

1
2
3
4
5
6
7
# 创建 .gitignore
node_modules/
.env
*.key
config/credentials.yml

# 如果已经提交了敏感文件,使用 git-filter-repo 清理历史

2. 保护分支

在 GitHub/Gitee 上为 main/master 分支设置保护规则:

  • 禁止直接推送
  • 需要 PR 审核
  • 通过 CI 检查才能合并

3. 定期清理本地分支

1
2
3
4
5
6
7
8
# 查看已合并的分支
git branch --merged

# 删除本地分支
git branch -d feature/已完成的功能

# 删除远程分支
git push origin --delete feature/已完成的功能

📋 Git 配置推荐

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 基础配置
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

# 别名配置(提升效率)
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.lg "log --oneline --graph --all"

# 使用后可以这样操作:
# git co -b feature/xxx 等价于 git checkout -b feature/xxx
# git lg 查看漂亮的提交历史图

💡 总结

Git 工作流的核心原则:

  1. 分支开发,主干发布 — 功能在分支上开发,保持主干稳定
  2. 小步提交,频繁推送 — 每次提交只做一件事,描述清晰
  3. 及时同步,避免冲突 — 经常拉取远程更新,减少合并冲突
  4. 保护主干,审核合并 — 关键分支设置保护,代码经审核后合并

Git 的掌握是一个循序渐进的过程,先用好日常 80% 的场景,遇到问题再深入查找。推荐两本参考资料:


本文由AI辅助生成,内容仅供参考

  • 标题: Git 工作流实战指南 —— 从入门到日常使用
  • 作者: Someone
  • 创建于 : 2026-06-06 22:40:00
  • 更新于 : 2026-06-18 08:39:57
  • 链接: https://demo-blog.qusite.cn/git-workflow-guide/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。