提示:本网站现在为维护调试状态

Git 高级工作流

Choyeon
Choyeon
2026年8月29日 1 分钟阅读 369 阅读
494 字 1,254 字符 更新于 2026年11月8日
Git 高级工作流
目录

基础的 add/commit/push 只能满足日常协作,掌握进阶命令能精确控制版本历史、高效排查问题。

Interactive Rebase 整理历史

通过 reword/squash/fixup/drop 指令重写提交序列,合并 WIP 提交、修正信息、删除调试代码,保持主分支提交历史清晰可读。

#!/usr/bin/env bash
set -euo pipefail

# 1. Interactive Rebase: squash最近5条WIP,reword命名
git rebase -i HEAD~5 <<EOF
pick   a1b2c3d feat: add login API
reword b3e4f5g fix typo in user model
squash c6h7i8j wip: add test cases
fixup  d9k0l1m fix lint issues
drop   e2n3o4p tmp debug log
EOF

# 2. Cherry-pick: 跨分支移植hotfix
git checkout release/2.0
git cherry-pick -x a1b2c3d
# 多个提交合入暂存区手动合并后一次性提交:
# git cherry-pick --no-commit b3e4f5g c6h7i8j
# git cherry-pick --continue / --abort

# 3. Bisect: 二分找引入Bug的提交
git bisect start
git bisect bad HEAD
git bisect good v1.8.0
git bisect run pytest tests/test_auth.py -x
# Output: a1b2c3d is the first bad commit
git bisect reset

# 4. Reflog救援
git reflog --date=iso | head -20
# git reset --hard HEAD@{3}

# 5. 批量修复作者信息
git filter-branch -f --env-filter '
if [ "$GIT_AUTHOR_EMAIL" = "old@example.com" ]; then
    export GIT_AUTHOR_NAME="Correct Name" GIT_AUTHOR_EMAIL="new@example.com"
    export GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME" GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"
fi
' HEAD

Bisect 二分查 Bug

当回归 Bug 不知何时引入时,Bisect 通过二分搜索自动找出首个坏提交。配合自动化测试脚本可零人工介入,几分钟定位问题。

命令 作用 风险级别 推荐场景
rebase -i 重写历史 中(只改未推送分支) 提交整理/MR前
cherry-pick 移植提交 低(产生新hash) 回移hotfix
bisect 二分查Bug 极低(只读) 回归Bug定位
reflog 操作历史 零(只读) 误操作救援
filter-branch 批量改写 极高(改所有hash) 作者信息修复

最佳实践

黄金原则:永远不要 rebase 已经推送到公共分支的提交。危险操作前先打 git tag backup-$(date +%Y%m%d) 保险标签。

X微博Telegram

本文作者

投票

你最希望 Rosetta 优先加入哪项功能?

社区投票(演示数据,可后台删除)

评论 (3)

0 / 3000
云端漫步
云端漫步cloud-notes.cloud2026年9月21日

太好了!终于有人把 CI/CD 的完整流程讲清楚了,之前看了好多文章都是只讲一半,跟着这篇一步步跑通了整个流水线。

测试小瓢虫
测试小瓢虫2026年9月21日

建议可以再加一下关于成本优化的部分,云上资源如果不注意优化的话,账单真的会吓死个人。

考研加油鸭
考研加油鸭kaoyan-journey.xyz2026年9月20日

非常棒的文章,就是希望能再深入讲讲容器镜像优化这块,我现在的镜像打包出来都 1G 多,感觉太臃肿了。

相关文章

CI/CD Pipeline 设计:GitHub Actions + Cache + Matrix Build

CI/CD Pipeline 设计:GitHub Actions + Cache + Matrix Build

从零设计一套工业级 GitHub Actions 流水线:npm/pip 依赖缓存、多版本 Node/Python Matrix 并行构建、Docker 镜像分层缓存、Lint+Test+Build+Publish 分阶段、条件执行、环境矩阵、失败重试和发布门禁最佳实践,附完整工作流代码。

1 分钟阅读
Monorepo 工具链:Turborepo + pnpm workspace

Monorepo 工具链:Turborepo + pnpm workspace

单仓多包(Monorepo)管理大型前端全栈项目的完全指南:用 pnpm workspace 做依赖统一安装和链接,Turborepo 做任务编排、增量构建和远程缓存,对比 Nx/Lerna,附带代码复用与版本发布最佳实践。

1 分钟阅读
Docker Compose 生产部署实战

Docker Compose 生产部署实战

本文深入讲解 Docker Compose 在生产环境中的最佳实践,覆盖多阶段构建、健康检查、资源限制、日志配置、网络隔离、密钥管理等核心话题,助你构建稳定可扩展的容器化部署方案。

1 分钟阅读
Prompt Engineering 入门:Few-Shot + CoT + 结构化输出

Prompt Engineering 入门:Few-Shot + CoT + 结构化输出

系统入门 Prompt Engineering 三大核心技术:Few-Shot 示例学习注入专业领域风格、Chain-of-Thought (CoT) 思维链引导复杂推理、JSON Schema 强制结构化输出对接下游系统。附真实 prompt 模板和避坑指南。

1 分钟阅读
Alembic 深度指南:数据库迁移 + 自动生成 + 分支合并

Alembic 深度指南:数据库迁移 + 自动生成 + 分支合并

SQLAlchemy 官方迁移工具 Alembic 完全指南:从 env.py 配置、autogenerate 自动检测模型变更(字段、索引、约束)、批处理脚本、downgrade 回滚策略,到多人并发开发时 migration 分支冲突、head 分叉合并的标准操作流程,附生产部署检查表。

1 分钟阅读
测试金字塔:单元/集成/E2E 测试比例与落地

测试金字塔:单元/集成/E2E 测试比例与落地

系统解析测试金字塔架构:从底层单元测试(大量快速、Mock 隔离依赖)、中层集成测试(服务/数据库/消息协作真实交互)、顶层 E2E 测试(真实用户路径少量精测)的推荐比例 70% / 20% / 10%,附项目覆盖率指标与落地实践。

1 分钟阅读