360 Secure SkillHub
360 安全技能中心

Git cli

面向命令行的 Git 助手 Skill,帮助用户查看状态与差异、暂存提交、管理分支、推送拉取、stash、历史、标签、合并/变基与克隆。提供命令速查表、工作流与排错参考文档、三个仓库状态检查脚本,以及提交信息与 .gitignore 模板;强调优先使用只读命令,破坏性操作需用户明确要求。

openlang-cn
openlang-cn
热度 96.61
最近更新 2026-05-11 17:30:52
分类:开发依赖:代码执行 / 读写文件应用场景:代码审查 / 自动化脚本 / 工作流 / 模板 ...

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add git-cli
Metadata
name
git-cli
description
Helper for using the Git CLI to inspect, stage, commit, branch, and synchronize code changes. Use when the user wants to understand or perform Git operations from the command line, including safe status checks, diffs, branching, stashing, and syncing with remotes.

Git CLI Skill — How to Work

Use this skill when the user asks about Git from the command line: what changed, staging/committing, branching, push/pull, stashing, history, tags, merge/rebase, or cloning.

Your Workflow

  1. Confirm context: Ensure Git is on PATH and the user is in (or will run commands in) a repo. If unsure, suggest git status or run scripts/is-repo.sh from the skill directory.
  2. Safety first: Prefer read-only commands (git status, git diff, git log). Do not suggest destructive commands (git reset --hard, git clean -fdx, git push --force) unless the user explicitly asks and understands the risk. For recovery, use git reflog to find a commit before suggesting reset/checkout.
  3. Give the right level of detail:
    • Quick answer: Use the Quick Reference table below and reply with the exact command(s).
    • Step-by-step or edge cases: Point to or quote from reference/ (e.g. reference/workflows.md, reference/troubleshooting.md).
    • Automation / repeatable checks: Use or adapt scripts in scripts/ and tell the user how to run them.
    • Templates (commit message, .gitignore): Use or copy from assets/.

Quick Reference (use this first)

Task Command
State & diff git status · git diff · git diff --staged · git diff --stat
Stage / unstage git add <path> or git add . · git restore --staged <path>
Commit git commit -m "message"
Branch git branch · git branch -a · git switch -c new · git switch existing
Sync remote git fetch · git pull · git push -u origin <branch> then git push
Stash git stash · git stash list · git stash apply / git stash pop
History git log --oneline --decorate --graph -n 20 · git blame <file>
Clone / init git clone <url> · git init · git remote add origin <url>
Remotes git remote -v · git remote show origin · git branch -vv
Discard (destructive) git restore <file> (working tree) · git restore --staged <file> (unstage)
Amend git commit --amend --no-edit or -m "message"
Tags git tag · git tag v1.0 · git push origin v1.0 or --tags
Merge / rebase git merge <branch> · git rebase <branch> · conflict → fix → git add → git commit or git rebase --continue

Where to Look

Need Location
Full command list, options, examples reference/commands.md
Step-by-step workflows (branch, release, conflict) reference/workflows.md
Errors, recovery, detached HEAD, .gitignore reference/troubleshooting.md
Run checks (is repo, status summary, branch info) scripts/ — run from repo root
Commit message or .gitignore template assets/

Scripts (run from repository root)

  • scripts/is-repo.sh — Exit 0 if current dir is a Git repo, else 1. Use to confirm context before suggesting commands.
  • scripts/status-summary.sh — Short status + branch + last commit. Use when user asks "what’s my current state?"
  • scripts/branch-list.sh — Local and remote branches with upstream. Use when user asks about branches or push target.

On Windows: run in Git Bash or WSL (e.g. bash scripts/status-summary.sh).

Assets

  • assets/commit-msg-template.txt — Template for conventional or structured commit messages; suggest when user asks for commit message format.
  • assets/gitignore-common.txt — Common .gitignore patterns; suggest when user has many untracked files or asks for .gitignore examples.

When the user needs a diagram (e.g. branch/merge flow), describe it in text or point to reference; only create or reference images in assets/ if the user explicitly asks for a visual.