Claude Skill MartKhám phá skillSkill là gì?
Về danh sách

Git Safety Net (Lưới an toàn cho Git)

Kỹ năng pháp y Git giúp phục hồi commit/branch/stash đã mất và chứng minh bằng nội dung rằng việc dọn dẹp không làm mất việc.

Lập trìnhTrung cấp1,323212Điểm AI 9/10Cập nhật lần cuối: 8 thg 8, 2026

Nó làm được gì

  • Phục hồi (Mode A): theo thang git refloggit fsck --dangling để tìm lại commit, branch, stash đã "biến mất" (thường còn ~90 ngày trong object store) và đưa về một branch mới rescue/... chứ không reset lên việc đang chạy.
  • Kiểm toán & bảo toàn (Mode B): quét toàn máy để tìm mọi bản checkout của cùng repo — kể cả các bản git clone độc lập mà git worktree list, git branch -a, git fsck đều không thấy — rồi liệt kê commit chưa push, file bẩn, stash và dangling commit trong từng bản. Sau đó ghim commit mồ côi vào refs/dangling-backup/, xuất patch, bundle và copy tay các file untracked (bundle/archive không với tới được chúng).
  • Xác minh đã merge (Mode C): không tin vào số commit (squash-merge tạo ra hàng trăm commit "ảo"), mà dùng thử merge bằng git merge-tree để kết luận MERGED / UNMERGED theo nội dung.
  • Phòng ngừa (Mode D): commit-rồi-switch thay vì stash hay clone thứ hai; dùng git branch -f thay cho reset --hard trong cây làm việc dùng chung.
  • Dọn dẹp an toàn (Mode E): chỉ xóa stash/worktree/branch/clone sau khi chứng minh chúng đã bị thay thế và backup đã tồn tại.

Phù hợp với ai

  • Lập trình viên vừa rebase/force-push và lo đã mất việc
  • Người có hàng chục branch, stash, worktree tồn đọng và không biết xóa gì
  • Nhóm hoặc nhiều AI agent làm việc song song trên cùng một repo
  • Tech lead cần bằng chứng "mọi thứ đã lên main" trước khi phát hành

Ví dụ sử dụng

  1. "Commit hôm qua của tôi mất rồi" → tìm SHA trong 40 dòng đầu của reflog, xác nhận bằng git show, rồi phục hồi sang rescue/lost-feature.
  2. "Xóa thư mục clone này được chưa?" → chạy git_find_all_checkouts.sh, phát hiện một clone cạnh đó còn 440 dòng file untracked, backup xong mới cho xóa.
  3. "Dọn 30 branch cũ, chỉ giữ main" → chạy git_verify_branch_merged.sh cho từng branch, xóa những branch MERGED (content contained) và giữ lại phần chưa chứng minh được.

· · · Hướng dẫn cài đặt · · ·

Cài vào ứng dụng Claude (không cần terminal)
  1. Tải tệp ZIP bằng nút bên dưới.
  2. Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
  3. Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Tải ZIP
Cài vào Claude Code

Để Claude làm — dán câu dưới đây vào Claude Code

Hãy cài skill mình tìm thấy trên Claude Skill Mart.
Copy thư mục git-safety-net từ repo GitHub daymade/claude-code-skills vào ~/.claude/skills/git-safety-net/ của mình.
Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.

Cài bằng lệnh thủ công

git clone https://github.com/daymade/claude-code-skills.git && mkdir -p ~/.claude/skills && cp -r claude-code-skills/git-safety-net ~/.claude/skills/

Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.

  1. Mở terminal và chuyển tới thư mục thuận tiện, ví dụ: cd ~
  2. Clone repo: git clone https://github.com/daymade/claude-code-skills.git
  3. Tạo thư mục skill: mkdir -p ~/.claude/skills
  4. Copy skill vào: cp -r claude-code-skills/git-safety-net ~/.claude/skills/
  5. Cấp quyền chạy cho script: chmod +x ~/.claude/skills/git-safety-net/scripts/*.sh
  6. Mở Claude Code ngay tại thư mục gốc của repo Git cần kiểm tra và yêu cầu: "Kiểm tra xem tôi có mất commit nào không bằng git-safety-net".
  7. Lần đầu hãy bắt đầu bằng Mode B (kiểm toán) — các lệnh audit và bảo toàn đều không phá hủy dữ liệu.
  8. Khi tới bước xóa (Mode E), tự kiểm tra file backup đã tồn tại rồi mới xác nhận, vì rm -rf không thể hoàn tác.