TTokenySpace
返回 Skills 列表

Git Toolkit Free

提供Git提交、分支、合并、冲突解决与历史恢复等核心命令,适合开发者日常版本管理。

#中文
0

安装到 Tokeny(自动)

下载 ZIP
安装"git-toolkit-free"技能
技能信息:
- 名称: Git Toolkit Free
- 标识: git-toolkit-free
- 描述: 提供Git提交、分支、合并、冲突解决与历史恢复等核心命令,适合开发者日常版本管理。
- 版本: 1.0.0
下载地址:
https://www.tokeny.space/api/skills/git-toolkit-free/download
继续

复制上方内容到 Tokeny 客户端并在会话中发送即可自动安装;也可直接 下载 ZIP并拖动到技能窗口安装。

SKILL.md

Git工具包 - 免费版

概述

Git工具包免费版为开发者提供日常版本管理能力。工具涵盖提交管理、分支策略、合并冲突解决、历史检查与恢复操作,帮助开发者高效使用Git进行代码版本管理。

本版本适合日常代码版本管理、功能分支开发和代码合并与冲突解决。所有命令通过Git CLI执行,无需安装额外插件。

核心能力

1. 核心规则

使用Git时遵循的安全规则:

  1. 永远不要对共享分支强制推送:仅在功能分支使用 --force-with-lease
  2. 尽早提交,频繁提交:小提交更易审查、回退和二分查找
  3. 写有意义的提交信息:首行不超过72字符,使用祈使语气
  4. 推送前先拉取:git pull --rebase 避免不必要的合并提交
  5. 合并前清理:使用 git rebase -i 压缩修复提交

输入: 用户提供核心规则所需的指令和必要参数。 处理: 按照skill规范执行核心规则操作,遵循单一意图原则。 输出: 返回核心规则的执行结果,包含操作状态和输出数据。

2. 提交管理

# 基础提交
git add file.txt
git add .
git add -A                    # 包括删除的文件
git commit -m "提交信息"

# 提交消息规范(Conventional Commits)
git commit -m "feat(auth): 添加用户登录功能"
git commit -m "fix(api): 修复用户列表分页错误"
git commit -m "docs(readme): 更新安装说明"
git commit -m "refactor(utils): 重构日期格式化函数"
git commit -m "test(auth): 添加登录单元测试"
git commit -m "chore(deps): 升级依赖版本"

# 修改提交
git commit --amend -m "新提交信息"
git commit --amend --no-edit              # 保持原信息
git commit -am "提交信息"                 # 添加并提交已跟踪文件
# 查看变更
git diff                                  # 工作区变更
git diff --staged                         # 暂存区变更
git diff file.txt                         # 特定文件变更
git diff commit1 commit2                  # 比较两个提交

输入: 用户提供提交管理所需的指令和必要参数。 处理: 按照skill规范执行提交管理操作,遵循单一意图原则。 输出: 返回提交管理的执行结果,包含操作状态和输出数据。

  • 执行此能力时使用input_params参数,支持创建/查询/导出操作

3. 分支管理

# 查看分支
git branch                                 # 本地分支
git branch -a                              # 所有分支(含远程)
git branch -vv                             # 分支跟踪信息
# 创建和切换分支
git branch feature-name                    # 创建分支
git checkout feature-name                  # 切换分支(旧命令)
git switch feature-name                    # 切换分支(新命令)
git checkout -b feature-name               # 创建并切换
git switch -c feature-name                 # 创建并切换(新命令)
# 删除分支
git branch -d branch-name                  # 安全删除(已合并)
git branch -D branch-name                  # 强制删除
# 重命名分支
git branch -m old-name new-name            # 重命名当前分支

输入: 用户提供分支管理所需的指令和必要参数。 处理: 按照skill规范执行分支管理操作,遵循单一意图原则。 输出: 返回分支管理的执行结果,包含操作状态和输出数据。

  • 执行此能力时使用input_params参数,支持创建/查询/导出操作

4. 合并与冲突解决

# 合并分支
git merge feature-name                     # 合并到当前分支
git merge --no-ff feature-name             # 保留合并记录
git merge --abort                          # 取消合并
# 变基
git rebase main                            # 将当前分支变基到main
git rebase -i HEAD~3                       # 交互式变基最近3个提交
git rebase --continue                      # 解决冲突后继续
git rebase --abort                         # 取消变基
git rebase --skip                          # 跳过当前提交
# 冲突解决
git diff --name-only --diff-filter=U       # 查看冲突文件
# 手动编辑冲突文件,解决冲突标记
git add resolved-files                     # 标记已解决
git commit                                 # 完成合并
# 或
git rebase --continue                      # 完成变基
# 检查是否还有冲突标记
grep -r "<<<\|>>>\|===" .

输入: 用户提供合并与冲突解决所需的指令和必要参数。 处理: 按照skill规范执行合并与冲突解决操作,遵循单一意图原则。 输出: 返回合并与冲突解决的执行结果,包含操作状态和输出数据。

  • 执行此能力时使用input_params参数,支持创建/查询/导出操作

5. 历史检查与恢复

# 查看历史
git log                                    # 完整历史
git log --oneline                          # 简洁模式
git log --graph --oneline --all            # 图形化所有分支
git log -5                                 # 最近5个提交
git log --author="Name"                    # 按作者筛选
git log --since="2 weeks ago"              # 按时间筛选
git log -- file.txt                        # 特定文件历史
# 快速摘要
git status -sb                             # 简短状态
git log --oneline -5                       # 最近5个提交
git shortlog -sn                           # 贡献者统计
git diff --stat HEAD~5                     # 最近5个提交统计
# 恢复操作
git reset --soft HEAD~1                    # 撤销提交,保留变更
git reset --hard HEAD~1                    # 撤销提交,丢弃变更(危险)
git restore file.txt                       # 丢弃工作区变更
git restore --staged file.txt              # 取消暂存
# 查找丢失的提交
git reflog                                 # 操作历史(保留约90天)
git checkout -b branch-name <sha>          # 从历史创建分支

输入: 用户提供历史检查与恢复所需的指令和必要参数。 处理: 按照skill规范执行历史检查与恢复操作,遵循单一意图原则。 输出: 返回历史检查与恢复的执行结果,包含操作状态和输出数据。 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:冲突解决与历史恢、复等核心命令、适合开发者日常版、本管理、面向开发者的、版本管理工具包、涵盖提交管理、分支策略、合并冲突解决、核心能力、提交管理与规范、分支管理与切换、基本团队协作工作等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。

  • 执行此能力时使用input_params参数,支持创建/查询/导出操作

使用场景

  • 不适用: 需要人工判断的复杂决策场景

场景一:功能分支开发

标准功能分支开发工作流。

#!/bin/bash
# 功能分支工作流
echo "=== 功能分支开发流程 ==="

# 1. 从main创建功能分支
git checkout main
git pull origin main
git checkout -b feature/user-auth

# 2. 开发并提交
git add .
git commit -m "feat(auth): 实现用户认证逻辑"

# 3. 定期同步main
git fetch origin
git rebase origin/main

# 4. 推送到远程
git push -u origin feature/user-auth

# 5. 创建Pull Request(在平台上操作)
# 6. 合并后清理
git checkout main
git pull origin main
git branch -d feature/user-auth
git push origin --delete feature/user-auth

echo "功能分支流程完成"

场景二:冲突解决

解决合并冲突的完整流程。

#!/bin/bash
# 冲突解决流程
echo "=== 冲突解决流程 ==="

# 1. 合并时遇到冲突
git merge feature-branch
# CONFLICT (content): Merge conflict in src/index.js
# 2. 查看冲突文件
echo "冲突文件:"
git diff --name-only --diff-filter=U

# 3. 查看冲突内容
echo -e "\n冲突详情:"
git diff

# 4. 手动解决冲突
echo "请手动编辑冲突文件,解决以下标记:"
echo "  <<<<<<< HEAD (当前分支)"
echo "  ======="
echo "  >>>>>>> feature-branch (合并分支)"

# 5. 标记已解决
# git add src/index.js
# 6. 验证无冲突标记
echo -e "\n检查冲突标记:"
if grep -r "<<<\|>>>\|===" . --include="*.js" --include="*.ts"; then
    echo "仍有未解决的冲突标记!"
else
    echo "冲突标记已清除"
fi

# 7. 完成合并
# git commit
# 或取消合并
# git merge --abort

场景三:误操作恢复

恢复误删除的分支或提交。

#!/bin/bash
# 误操作恢复
echo "=== 误操作恢复 ==="

# 1. 查看操作历史
echo "最近的Git操作:"
git reflog -20

# 2. 恢复误删除的分支
echo -e "\n恢复误删除的分支:"
echo "1. 找到分支最后的提交SHA:"
git reflog | grep "feature-deleted"
echo "2. 从该SHA创建新分支:"
echo "   git checkout -b feature-deleted <sha>"

# 3. 恢复误reset的提交
echo -e "\n恢复误reset的提交:"
echo "1. 查看reset前的提交:"
git reflog | grep "reset"
echo "2. 恢复到该提交:"
echo "   git reset --hard <sha>"

# 4. 撤销已推送的提交(安全方式)
echo -e "\n撤销已推送的提交(使用revert):"
echo "  git revert <commit-sha>"
echo "  git push origin main"

快速开始

Step 1:配置Git

# 设置用户信息
git config --global user.name "你的名字"
git config --global user.email "your@email.com"

# 设置默认分支名
git config --global init.defaultBranch main

# 配置别名
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.lg "log --graph --oneline --all"

Step 2:触发Git操作

在 AI Agent 中输入:

请帮我创建功能分支,提交代码并推送到远程。

Step 3:安全检查

Agent 会自动进行安全检查,避免危险操作。

结果处理: 执行完成后,查看输出结果确认操作状态。成功时输出包含处理摘要和结果数据;失败时根据错误信息排查问题,查阅错误处理章节获取恢复步骤。

示例

Git配置模板

# ~/.gitconfig
[user]
    name = 你的名字
    email = your@email.com

[init]
    defaultBranch = main

[alias]
    st = status
    co = checkout
    br = branch
    ci = commit
    sw = switch
    lg = log --graph --oneline --all
    last = log -1 HEAD
    amend = commit --amend --no-edit
    unstage = reset HEAD --
    visual = log --graph --oneline --all

[pull]
    rebase = true

[push]
    default = current
    autoSetupRemote = true

[core]
    editor = code --wait
    autocrlf = input

.gitignore 模板

# 依赖
node_modules/
__pycache__/
venv/
.venv/

# 构建产物
dist/
build/
*.o
*.so

# 环境变量
.env
.env.local
.env.*.local

# IDE
.vscode/
.idea/
*.swp
*.swo

# 系统
.DS_Store
Thumbs.db

# 日志
*.log
logs/

最佳实践

  1. 提交前检查:提交前确认状态和变更内容
git status
git diff
git diff --staged
  1. 小步提交:每次提交聚焦一个变更
# 使用 -p 选择性暂存
git add -p
  1. 安全推送:使用 --force-with-lease 替代 --force
# 推荐
git push --force-with-lease

# 危险(不推荐)
# git push --force
  1. 写规范的提交信息
# 格式: type(scope): description
git commit -m "feat(auth): 添加OAuth2登录支持"
git commit -m "fix(api): 修复用户列表500错误

详细说明:
- 修复了空指针异常
- 添加了参数校验
- 增加了错误处理"
  1. 操作前确认:执行危险操作前确认分支
# 安全检查清单
git branch                    # 确认当前分支
git status                    # 确认无未提交变更
git stash list                # 确认无暂存内容

常见问题

Q1:如何撤销最近的提交?

# 撤销提交,保留变更在工作区
git reset --soft HEAD~1

# 撤销提交,变更回到未暂存状态
git reset HEAD~1

# 撤销提交,丢弃所有变更(危险!)
git reset --hard HEAD~1

Q2:如何修改已推送的提交?

# 安全方式:使用revert(不会改写历史)
git revert <commit-sha>
git push origin main

# 不安全方式:amend(会改写历史,仅限未共享分支)
git commit --amend -m "新信息"
git push --force-with-lease

Q3:如何解决合并冲突?

  1. git status 查看冲突文件
  2. 打开冲突文件,找到 <<<<<<<=======>>>>>>> 标记
  3. 手动编辑解决冲突,删除标记
  4. git add <file> 标记已解决
  5. git commit 完成合并

Q4:免费版与专业版有何区别?

能力维度免费版专业版
工作流基础工作流高级团队工作流
自动化手动执行CI/CD集成
批量操作不支持批量分支管理
代码审查手动自动化审查
钩子管理不支持Git Hook管理
历史分析基础log高级分析

Q5:git checkout 和 git switch 有什么区别?

# git checkout(旧命令,功能多)
git checkout branch-name        # 切换分支
git checkout -b new-branch      # 创建并切换
git checkout -- file.txt        # 丢弃变更
# git switch(新命令,专用于分支)
git switch branch-name          # 切换分支
git switch -c new-branch        # 创建并切换
# git restore(新命令,专用于恢复)
git restore file.txt            # 丢弃变更
git restore --staged file.txt   # 取消暂存

依赖说明

运行环境

  • Agent 平台:支持 SKILL.md 的任意 AI Agent(Claude Code / Cursor / Codex / Gemini CLI 等)
  • 操作系统:Windows / macOS / Linux
  • 运行时:Git 2.20+

依赖详情

依赖项类型是否必需获取方式
Git运行时必需git-scm.com 下载
LLM APIAPI必需由 Agent 内置 LLM 提供

API Key 配置

  • 本 Skill 基于 Markdown 指令,无需额外 API Key
  • 远程仓库认证配置:
# HTTPS认证
git config --global credential.helper store

# SSH密钥认证
ssh-keygen -t ed25519 -C "your@email.com"
# 将公钥添加到Git托管平台

可用性分类

  • 分类:MD+EXEC(纯 Markdown 指令,需要 exec 命令行执行能力)
  • 说明:基于 Markdown 的 AI Skill,通过自然语言指令驱动 Agent 执行Git操作
  • 适用规模:个人到小团队项目

错误处理

  • 边界输入处理: 空输入返回提示信息, 超长输入自动截断
  • 降级策略: 异常时返回默认值, 确保流程不中断 | 错误场景 | 原因 | 处理方式 | |---------|------|---------| | 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 | | 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 | | 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |

已知限制

  • 需LLM支持,无LLM环境不可用
  • 复杂业务场景建议结合人工经验判断
  • 执行效率受模型能力与网络环境影响

案例展示

评论

加载中…