用途
Git Advanced 是一套高级 Git 操作与恢复技巧的参考技能,面向需要处理复杂版本控制任务的开发者。它覆盖提交历史整理、跨分支提交挑选、缺陷定位、工作现场保存与恢复、误操作恢复、多工作树并行开发以及历史查询等场景。
主要能力
交互式 Rebase
支持对最近 N 个提交或基于某分支进行交互式 rebase,可在编辑器中执行 pick、reword、edit、squash、fixup、drop 等操作,用于合并提交、修改提交信息或删除提交。提供 --abort、--continue、--skip 等冲突处理选项。
Cherry-Pick
支持挑选单个提交、提交范围、仅暂存不提交,以及从其他分支挑选指定位置的提交,并提供冲突后继续或中止的命令。
Bisect
支持手动二分查找引入缺陷的提交,也支持通过 git bisect run 配合测试命令或脚本自动定位第一个坏提交。
Stash
支持保存工作进度、为 stash 添加说明、暂存指定文件、包含未跟踪文件、列出与查看 stash 内容、应用或弹出 stash、从 stash 创建分支以及删除 stash。
Reflog 恢复
支持查看 reflog、在硬重置后恢复、恢复已删除分支、在错误 rebase 后恢复。默认 reflog 过期时间为 90 天。
Reset 与 Revert
区分 reset 的 soft、mixed、hard 三种模式,以及 revert 创建新提交的安全回退方式,包括回退范围提交和回退合并提交。
Worktree
支持创建链接工作树、列出工作树、移除工作树以及清理失效工作树。
日志与历史
支持紧凑日志、按提交信息搜索、按代码变更搜索(pickaxe 与正则)、跟踪文件历史、逐行追溯、分支间差异比较以及查看提交间变更文件列表。
清理
支持预览和删除未跟踪文件、删除目录、删除被忽略文件,以及垃圾回收和清理旧 reflog 条目。
常见工作流
提供 squash 合并、合并前 rebase 实现线性历史、fixup 工作流等示例。
使用方式
该技能以命令示例形式组织,用户可根据需要直接参考对应章节的命令。交互式 rebase 通过 git rebase -i 进入编辑器操作;bisect 可通过 git bisect run 配合测试命令自动执行;恢复操作依赖 git reflog 查找目标提交哈希。
适用场景
适用于需要整理提交历史、跨分支挑选提交、定位引入缺陷的提交、恢复误删分支或错误重置、并行处理多个分支,以及查询代码变更历史的开发场景。
限制
资料未提供该技能的安装方式、平台支持、收费模式或效果保证等信息。reflog 默认过期时间为 90 天,过期后恢复能力受限。部分操作如 reset --hard、clean -f 会丢弃数据,需谨慎使用。