git-advanced-workflows 是处理复杂 Git 历史和分支协作的 Skill,覆盖定位问题提交、挑选单次改动、多分支并行工作和查找遗失提交。遇到“昨天还好好的,今天怎么坏了”,可以先用它梳理排查路径。
其中的 bisect 会在一个已知正常版本和异常版本之间,逐步缩小范围。你负责提供可靠的正常、异常判定,Git 切换到中间版本验证,直到定位引入问题的提交。已有稳定测试时,还能用测试辅助这个过程。
它不只负责找故障。只想把一个修复带到另一条分支,可以使用 cherry-pick;不想反复切分支打断手头工作,可以考虑 worktree;整理尚未共享的提交,则有交互式 rebase 的相关指引。
这些操作要先看清工作区和历史状态。原文强调复杂操作前留备份分支、不要随意重写已经共享的提交。reflog 可以帮助寻找仍有记录的提交,但不能保证任何丢失内容都能恢复。
把“现在在哪条分支、发生了什么、希望保留什么”交代清楚,它才好选择工具。对不常处理 Git 异常的人,这比从搜索结果里随手复制一条重置命令更容易核对后果。