技能 git-advanced-workflows
📦

git-advanced-workflows

安全

掌握高级 Git 工作流程

也可从以下获取: wshobson

开发人员在处理复杂的 Git 操作时经常遇到困难,例如历史重写和从错误中恢复。此技能提供全面的高级 Git 命令指导,包括变基、拣选提交、二分查找、工作树和引用日志,帮助维护整洁的历史记录并从任何情况中恢复。

支持: Claude Codex Code(CC)
🥉 75 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“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 天的历史记录。

安全审计

安全
v1 • 2/25/2026

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.

1
已扫描文件
415
分析行数
0
发现项
1
审计总数
未发现安全问题

检测到的模式

External Command Detection (False Positive)Path Traversal Detection (False Positive)Cryptographic Algorithm Detection (False Positive)
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
50
社区
100
安全
100
规范符合性

你能构建什么

在拉取请求之前清理功能分支

使用交互式变基来压缩、重新排序和清理提交消息,然后再合并到主分支

查找错误引入点

使用 git bisect 二分查找快速定位哪个提交引入了回归问题

从 Git 错误中恢复

使用 reflog 恢复意外删除或重置的提交或分支

试试这些提示

交互式变基指南
帮助我使用交互式变基来清理我的功能分支。我想将最后 5 个提交压缩为一个带有清晰消息的整洁提交。
拣选提交
如何将另一个分支的特定提交拣选到当前分支?提交哈希是 abc123。
查找错误提交
我需要查找哪个提交引入了错误。如何使用 git bisect 系统地搜索我的提交历史?
工作树设置
展示如何设置 Git 工作树,以便我可以在处理热修复的同时保持当前的功能工作完整。

最佳实践

  • 在执行破坏性 Git 操作(如变基或重置)之前,始终创建备份分支
  • 在推送重写的历史时使用 --force-with-lease 而不是 --force,以防止覆盖其他人的工作
  • 在变基操作后运行测试,以确保重写的历史没有破坏任何功能

避免

  • 对其他开发人员已经拉取的公共分支进行变基 - 这会给协作者造成历史冲突
  • 在不检查其他人是否已向远程推送新更改的情况下使用 'git push --force'
  • 在未先暂存或存储更改的情况下,在脏工作目录上运行 git bisect

常见问题

变基和合并有什么区别?
变基会重写提交历史以将你的提交应用到另一个分支之上,创建线性历史。合并则在不更改历史的情况下组合分支。在推送之前使用变基进行本地清理,使用合并将已完成的工作集成到共享分支中。
何时应该使用 cherry-pick 而不是合并?
当你只需要另一个分支的特定提交而不是整个分支历史时,应使用 cherry-pick。这对于将热修复应用到多个发布分支而不合并所有更改非常有用。
git bisect 如何工作?
Git bisect 使用二分查找来查找引入错误的提交。你标记一个已知的错误提交和一个正确的提交,然后 Git 会检出它们之间的提交。你测试每一个并标记正确或错误,直到找到第一个错误的提交。
什么是 Git 工作树?何时应该使用它?
工作树允许你同时在不同目录中检出多个分支。当你需要同时处理多个功能或修复而不需要存储当前工作时,可以使用它。
reflog 保留已删除的提交历史多久?
Reflog 默认保留 90 天的历史记录,或者直到引用被垃圾回收。这提供了一个安全网,可以在此期间恢复丢失的提交或分支。
重写 Git 历史安全吗?
对于尚未共享的本地分支,重写历史是安全的。对于共享分支,仅在绝对必要时才重写历史,并始终使用 'git push --force-with-lease' 以避免覆盖其他人的工作。

开发者详情

文件结构

📄 SKILL.md