开发人员在处理复杂的 Git 操作时经常遇到困难,例如历史重写和从错误中恢复。此技能提供全面的高级 Git 命令指导,包括变基、拣选提交、二分查找、工作树和引用日志,帮助维护整洁的历史记录并从任何情况中恢复。
下载技能 ZIP
在 Claude 中上传
前往 设置 → 功能 → 技能 → 上传技能
开启并开始使用
测试它
正在使用“git-advanced-workflows”。 在创建拉取请求之前,如何清理提交历史?
预期结果:
使用交互式变基来清理提交。运行 'git rebase -i main' 来编辑最后几个提交。你可以将多个提交压缩 (s) 在一起,重新编辑 (r) 提交消息,或删除 (d) 不必���的提交。在重写历史之前,务必先使用 'git branch backup-branch' 创建备份分支。
正在使用“git-advanced-workflows”。 我不小心重置了分支并丢失了提交。如何恢复它们?
预期结果:
使用 git reflog 查找丢失的提交。运行 'git reflog' 查看所有引用更新的历史记录。找到重置之前的提交哈希,然后使用 'git reset --hard <commit-hash>' 恢复,或使用 'git branch recovered-branch <commit-hash>' 创建分支。Reflog 会保留 90 天的历史记录。
安全审计
安全All static findings are false positives. The skill is a documentation guide for Git commands - the flagged 'external_commands' are Git examples in markdown code blocks, 'filesystem' findings are legitimate worktree relative paths, and 'weak cryptographic algorithm' was a misidentification. This is safe, legitimate educational content.
检测到的模式
质量评分
你能构建什么
在拉取请求之前清理功能分支
使用交互式变基来压缩、重新排序和清理提交消息,然后再合并到主分支
查找错误引入点
使用 git bisect 二分查找快速定位哪个提交引入了回归问题
从 Git 错误中恢复
使用 reflog 恢复意外删除或重置的提交或分支
试试这些提示
帮助我使用交互式变基来清理我的功能分支。我想将最后 5 个提交压缩为一个带有清晰消息的整洁提交。
如何将另一个分支的特定提交拣选到当前分支?提交哈希是 abc123。
我需要查找哪个提交引入了错误。如何使用 git bisect 系统地搜索我的提交历史?
展示如何设置 Git 工作树,以便我可以在处理热修复的同时保持当前的功能工作完整。
最佳实践
- 在执行破坏性 Git 操作(如变基或重置)之前,始终创建备份分支
- 在推送重写的历史时使用 --force-with-lease 而不是 --force,以防止覆盖其他人的工作
- 在变基操作后运行测试,以确保重写的历史没有破坏任何功能
避免
- 对其他开发人员已经拉取的公共分支进行变基 - 这会给协作者造成历史冲突
- 在不检查其他人是否已向远程推送新更改的情况下使用 'git push --force'
- 在未先暂存或存储更改的情况下,在脏工作目录上运行 git bisect