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

Git 高級工作流

Choyeon
Choyeon
2026年8月29日 1 分鐘閱讀 365 閱讀
494 字 1,254 字元 更新於 2026年11月8日
Git 高級工作流
目錄

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 分鐘閱讀