unfuck-my-git-state

🔧 Git 仓库急救与智能修复专家

🥥73总安装量 19评分人数 11
100% 的用户推荐

基于标准化诊断流程的 Git 状态修复工具,通过非破坏性操作和低风险恢复流程,帮助开发者安全解决复杂仓库损坏问题。

A

基本安全,请在特定环境下使用

  • 来自社区或个人来源,建议先隔离验证
  • ✅ 无危险函数执行(eval/exec/system/subprocess),所有脚本仅执行诊断或生成修复建议
  • ✅ 强制安全选项与错误处理:脚本使用 `set -euo pipefail` 模式,临时目录通过 mktemp 生成并配备 EXIT 清理陷阱
  • ✅ 零数据收集与网络传输,snapshot 脚本仅在用户显式调用时本地保存状态信息
  • ⚠️ T3 来源(个人开发者 delorenj),虽当前代码质量满足 A 级要求,但需关注长期维护与更新稳定性
  • ⚠️ 修复命令需用户手动执行,存在因误操作或跳过备份步骤导致数据丢失的人为风险

使用说明

核心用法

unfuck-my-git-state 是一款专注于 Git 仓库状态诊断与修复的专业工具,采用"先诊断、后修复、再验证"的分阶段工作流。用户首先通过 snapshot_git_state.sh 捕获当前仓库完整状态,然后利用 guided_repair_plan.sh 根据症状(如分离 HEAD、幻影分支锁、孤立工作树等)生成针对性的非破坏性修复方案。Skill 提供多个标准化 Playbook,涵盖从工作树元数据清理到手动 HEAD 修复的完整场景,每个步骤都强调备份优先原则,并配备 regression_harness.sh 供用户在隔离环境中预演修复流程。

显著优点

该工具最大优势在于其风险控制设计理念:强制要求操作前创建快照,优先推荐非破坏性修复,仅在备份完成后才允许强制操作。相比直接使用 git reset --hard 等危险命令,它提供了系统化的症状路由机制(symptom-map.md)和验证关卡(recovery-checklist.md),确保每次修复都有明确的安全网。此外,脚本采用 set -euo pipefail 严格模式,配合完善的错误处理和临时目录自动清理机制,在技术实现层面保障了执行安全。

潜在缺点与局限性

作为 T3 来源的个人开发者项目,长期维护更新存在一定不确定性。工具设计偏向半自动化:虽然能生成精确的修复命令,但仍需用户手动复制执行,无法实现一键修复,对紧急场景下的效率有一定影响。此外,Skill 假设用户具备基础 Git internals 知识(如理解 .git/ 目录结构、symbolic-ref 等概念),对 Git 新手的友好度有限。对于极端损坏场景(如 .git/ 目录物理损坏),该工具也无法替代专业的数据恢复服务。

适合的目标群体

主要面向中高级开发者、DevOps 工程师、技术团队负责人以及频繁使用 Git 工作树(worktree)功能的专业人士。特别适合管理复杂 monorepo 或多分支并行开发环境的团队,以及需要维护长期运行 CI/CD 流水线中可能产生状态漂移的自动化环境。对于经常遇到"幽灵分支锁"、"零哈希引用"等边缘案例的开发者,这是比盲目搜索 Stack Overflow 更系统化的解决方案。

使用风险与注意事项

尽管工具本身安全规范,但用户操作风险仍是主要隐患:误执行生成的命令可能导致未提交工作丢失。虽然 Skill 强调备份,但用户可能跳过此步骤。性能方面,在超大型仓库(GB 级)上运行诊断脚本可能产生临时文件开销。依赖项风险极低(仅依赖标准 git/bash),但不同 Git 版本(尤其是 2.30 以下旧版本)对工作树处理存在细微差异,可能导致修复建议不完全匹配。建议在生产仓库首次使用前,先在测试仓库验证对应 Playbook 的行为逻辑。

unfuck-my-git-state 内容

文件夹图标agents文件夹
文件夹图标references文件夹
文件夹图标scripts文件夹
手动下载zip · 10.9 kB
openai.yamltext/plain
请选择文件