SuperAPI AI 工具集

git-troubleshooting

通用与其它

查看项目

更新于 10-15 21:51

技能介绍

用途:该技能用于诊断和解决各类 Git 问题,包括找回丢失的提交或分支、修复损坏的仓库、处理分离 HEAD 状态、解决错误的合并或变基、诊断仓库故障、从强制推送中恢复以及修复认证问题。

主要能力与用法: 找回丢失提交:用 git reflog 查看本地 HEAD 历史,用 git cherry-pick abc123 恢复提交,或 git branch recovered-branch abc123 重建分支;用 git fsck --lost-found 查找悬空提交。 恢复被删分支与 reset 之后:从 reflog 找到删除前的提交,用 git branch feature-branch abc123 重建,或 git reset --hard def456 回到 reset 前状态。 分离 HEAD:用 git status 确认状态,用 git checkout -b new-branch-name 建新分支,或 git checkout main 返回;防止分离可用 git checkout -b release-v1.0 v1.0.0。 合并冲突:保留一方用 git checkout --ours file.go 或 --theirs,然后 git add;中止操作可用 git merge --abort、git rebase --abort、git cherry-pick --abort 等;复杂冲突可用 git mergetool、git diff --ours/--theirs/--base。 错误变基:git rebase --abort 中止,用 git reset --hard HEAD@{1} 或 git reset --hard ORIG_HEAD 回到变基前。 仓库损坏:git fsck --full 检测,git gc --prune=now 重建对象库,git reset 重建索引,git show-ref 与 git update-ref 修复引用。 撤销更改:git reset --soft HEAD~1 保留改动,git reset --hard HEAD~1 丢弃改动(可用 reflog 找回),公开提交用 git revert。 强制推送恢复:从 reflog 找到提交后用 git reset --hard HEAD@{1} 恢复并建备份分支;推送用 git push --force-with-lease。 大文件、认证、子模块、性能问题及常见错误消息均给出对应命令,如 git filter-repo --path large-file.bin --invert-paths、ssh -T git@github.com、git submodule update --init --recursive、git clone --depth 1 等。

适用场景:本地仓库误操作恢复、团队协作冲突处理、仓库完整性维护。

限制:部分操作如 git reset --hard、git push --force、删除 .git/objects 或 .git/index 具有破坏性,须谨慎并提前备份;资料未提供价格、平台、版本兼容性或官方支持等信息,暂未提供。