소스 정보
- 저장소
- YuAICode/ai-skills
- 최근 소스 활동
- 2026년 6월 6일 18:48
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 1
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/YuAICode/ai-skills --skill git-undo명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
按 Figma 设计稿还原页面代码,拉结构化设计数据 + design token,写完用像素 diff 自校验迭代到还原。当用户给出 figma.com 链接要实现页面、或说「照设计稿写这个页面 / 还原设计图 / 这个页面和设计稿对不上 / 按 Figma 做 UI / 设计稿还原度不够」时触发。
把 Claude Code 汉化 —— 让 Claude 默认用中文回复,并给每个工具调用加中文 tooltip 提示。当用户想"汉化 Claude Code""让 Claude 说中文""装中文命令提示""localize Claude Code to Chinese"时使用。
列出可清理的本地分支(已合并 / 陈旧),供用户确认后再删。当用户说"清理分支 / 哪些分支可以删 / 列出过期分支 / 整理 git 分支 / 哪些分支可以清掉"时触发。
SOC 직업 분류 기준
SKILL.md 표시 중
| name | git-undo |
| description | 撤销 git 操作的安全向导。当用户说「帮我撤销/我 commit 错了/怎么恢复/误删分支/push 错了/git 救命/git 怎么回退/我把改动搞丢了」时触发。 |
把用户用中文描述的"出了什么事",变成安全的恢复命令 + 清晰解释 + 风险提示。 能用非破坏性方式就不用破坏性;拿不准意图先问;reflog 是后悔药要善用。
先跑 state.sh 了解现状,再结合用户描述判断:
bash <skill>/bin/state.sh
state.sh 会输出(纯只读):
git status -s(工作区/暂存区状态)git log --onelinegit reflog 最近 10 条读完状态后,先理解用户想达成什么目标,再给命令。 常见误解:用户说"撤销 commit"可能是要:
--soft)--hard,破坏性)git revert)意图不明时直接追问,不臆测。
# 保留改动、取消提交(最安全,推荐)
git reset --soft HEAD~1
# 取消提交并取消暂存(改动还在工作区)
git reset HEAD~1
# ⚠️ 破坏性:取消提交 + 丢弃改动(不可恢复)
git reset --hard HEAD~1
建议:先问用户是否要保留改动。默认推荐
--soft。
# 丢弃单个文件的改动
git restore <file>
# 或(旧版 git)
git checkout -- <file>
# ⚠️ 破坏性:丢弃所有未暂存改动
git restore .
# ⚠️ 破坏性:同时清掉未跟踪文件
git clean -fd
警告:工作区改动一旦丢弃无法找回,执行前建议
git stash兜底。
reset --hard,想找回丢失的提交reflog 是后悔药:
# 1. 查看 reflog 找到误操作前的 SHA
git reflog
# 2. 恢复到那个状态
git reset --hard <sha>
# 或只切到那个提交建新分支
git branch recover-branch <sha>
reflog 默认保留 90 天,所以大部分情况都能找回。
# 非破坏性(推荐):在目标分支上 revert
git revert <sha>
git push
# ⚠️ 破坏性(需上游配合,有协作者时极危险):
git push --force-with-lease origin <branch>
强烈建议先用
revert。push -f会覆盖他人工作,多人协作时须取得团队同意。
# 1. 从 reflog 找到该分支最后的 SHA
git reflog --all | grep <branch-name>
# 或
git reflog
# 2. 重建分支
git branch <branch-name> <sha>
如果已经 push 过,也可以从远端恢复:
git checkout -b <branch-name> origin/<branch-name>
# 只改最后一条 commit(未 push 时安全)
git commit --amend
# 不打开编辑器直接改
git commit --amend -m "新的 commit 信息"
⚠️ 已 push 后 amend 会改变提交 SHA,需要
push -f,有协作者时慎用。
# 非破坏性(推荐):生成反向提交,历史保留
git revert <sha>
git push
# ⚠️ 破坏性(改写历史,多人协作时危险):
git reset --hard <sha>
git push --force-with-lease
已经 push 的历史应优先用
revert。reset + push -f会影响所有从该分支拉取代码的人。
凡涉及以下命令,必须:
⚠️ 或 【警告】)说明风险git stash 或记录当前 SHA)破坏性命令清单:
git reset --hardgit push --force / git push -f / git push --force-with-leasegit clean -fdgit restore .(全量丢弃)git rebase(改写历史时)## 你的现状
(基于 state.sh 输出,用中文描述当前分支、有无未提交改动、最近提交是什么)
## 理解你的意图
(复述用户想做什么;若有歧义,列出 2-3 种可能并追问)
## 恢复命令
```bash
# 推荐(非破坏性)
<命令>
# ⚠️ 破坏性备选(需确认)
<命令>
(白话讲:这个命令做了什么,为什么安全/不安全)
(如有破坏性操作,说明:会丢失什么、是否可找回、建议的兜底步骤)
git stash # 或
git log --oneline -3 # 记下当前 SHA
## 硬规则
1. **能用非破坏性方式就不用破坏性**:`revert` 优先于 `reset`;`--soft` 优先于 `--hard`。
2. **不臆测用户意图**:意图不明时直接追问,不擅自选择破坏性路径。
3. **reflog 是后悔药**:大多数误操作都可通过 reflog 找回,优先指引用户查 reflog。
4. **破坏性命令必须显著警告**:用醒目标记(⚠️)提示风险,建议兜底后再执行,**等用户确认**。
5. **脚本只读,不替用户执行恢复命令**:state.sh 是采集工具;恢复命令展示给用户自行执行。
6. **不替用户做 push -f**:即使用户说"帮我 force push",也只给命令、不执行;需显示风险后由用户自己操作。
7. **上下文不足时追问**:若不知道是哪个分支、哪条提交、push 到了哪里,先问清楚。
## 边界
- 只处理本地和已知远端状态;无法访问用户的远端仓库。
- 不扫历史仓库的所有 reflog(只看最近 10 条),若找不到需提示用户增加范围。
- 不替用户执行任何命令,只给命令和解释。
- 若用户的 git 版本较旧(< 2.23),`git restore` 不可用,提示用 `git checkout --`。