Git Advanced Skill 面向需要深入使用版本控制的开发者,集中整理高级 Git 工作流与配置方法,目标是提升分支管理、历史整理和团队协作效率。
用途 该技能用于处理复杂分支策略、同时开发多个特性、通过 bisect 追踪 bug、保持提交历史整洁、用 hooks 建立团队工作流、管理多仓库依赖,以及在误操作后恢复 git 状态。资料同时给出不适用场景:简单线性开发、历史简单的单人项目、团队不熟悉高级 git、时间紧迫的修复。
主要能力
- 交互式 rebase:支持 pick、reword、edit、squash、fixup、drop,可用于合并提交、重排提交、拆分提交和修改提交信息,并支持 autosquash 自动整理 fixup/squash 提交。
- Git worktrees:可列出、添加、移除和清理 worktree,允许同一仓库在不同目录同时检出多个分支,资料给出一个 worktree 辅助 shell 脚本示例。
- Git bisect:支持手动与自动二分查找,可标记 good/bad、skip 无法测试的提交、保存与重放 bisect 日志。
- Git rerere:启用后可记录冲突解决方案并在再次出现相同冲突时自动复用,支持 forget 与 gc 管理。
- Git reflog:用于恢复被删除分支、撤销 hard reset、找回丢失 stash、从错误 rebase 中恢复,并可调整过期保留时间。
- Git hooks:列出客户端与服务端钩子,给出 pre-commit、commit-msg、pre-push 示例脚本以及 pre-commit 框架配置示例。
- Git 别名:提供常用与高级别名,覆盖 status、branch、checkout、commit、diff、log、stash、remote、rebase、reset、clean、find 等操作。
- 子模块:介绍添加、克隆、初始化、更新与配置子模块,附带同步脚本示例。
- Monorepo 模式:介绍 sparse checkout、部分克隆、浅克隆以及带 scope 的提交信息策略。
使用方式 资料以命令和配置片段的形式给出使用方式,包括验证 git 版本、设置全局配置(user.name、user.email、init.defaultBranch、pull.rebase、push.autoSetupRemote、rerere.enabled、core.autocrlf、core.editor、diff.algorithm、merge.conflictStyle),以及安装 GitHub CLI 和 pre-commit 的命令。具体操作通过 git 命令直接执行,例如 git rebase -i、git worktree add、git bisect run、git rerere、git reflog、git submodule update 等。
适用场景 适合需要维护清晰提交历史、并行处理多个分支、定位回归问题、统一团队提交规范、管理子模块和 monorepo 的工程团队与个人开发者。
限制 资料明确列出不适用场景:简单线性开发、单人简单历史项目、团队不熟悉高级 git 的情况以及时间紧迫的修复。此外,具体价格、收费模式、平台支持范围、效果指标等事实暂未提供。