返回顶部
e

effective-git智能Git助手

Intelligent Git workflow assistant following best practices. Use when user needs help with git commits, analyzing changes, writing commit messages, pushing code, rebasing, merging, or any git operations. Also triggers on quick command prefix 'gq' or 'gq:' for rapid operations like 'gq b:l' (list branches), 'gq b:n name' (create branch), 'gq:s' (status). Automatically analyzes changes, suggests appropriate commit strategies (amend vs new commit), follows project conventions, and ensures safe oper

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
118
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

effective-git

Effective Git

智能 Git 工作流助手,帮助您按照最佳实践提交、推送和管理代码变更。

获取帮助

快速帮助:当用户询问 gq help、gq:h 或 git help 时,运行 scripts/show_help.sh 显示使用指南

详细帮助:当用户询问特定主题时:

  • - show me git best practices → 读取 references/best-practices.md
  • how to resolve conflicts → 读取 references/conflict-resolution.md
  • quick commands list → 读取 references/quick-commands.md

使用示例

  • - 使用 gq 进行快速操作(状态查看、分支切换等)
  • 使用自然语言进行提交、推送、合并(包含分析和安全检查的完整工作流)
  • 示例:

- gq b:l → 快速分支列表
- help me commit code → 包含分析的完整提交工作流
- gq:s → 快速状态查看
- resolve conflicts → 带指导的完整冲突解决

核心工作流

在协助 Git 操作时,请遵循以下顺序:

快速操作模式

对于简单的只读操作或快速检查,使用 scripts/git_quick.sh:

当用户请求时:

  • - list branches → gitquick.sh b:l
  • switch to xxx → gitquick.sh b-> xxx
  • create branch xxx → gitquick.sh b:n xxx
  • check status → gitquick.sh s
  • recent commits → gitquick.sh l
  • show changes → gitquick.sh d

- 如果设置了 GITQUICKDIFF_TERMINAL,则在新终端窗口中打开
- 否则使用 $PAGER(默认:less)
- 暂存的变更:git_quick.sh d:s

完整命令列表请参见 references/quick-commands.md。

完整工作流模式

对于提交、推送、合并和冲突解决,请遵循以下详细工作流:

1. 分析近期变更

运行 scripts/analyze_changes.sh 了解:

  • - 当前分支
  • 未提交的变更
  • 近期提交历史
  • 上次提交详情

2. 确定提交策略

检查变更应修改上次提交还是创建新提交:

使用 git commit --amend 当:

  • - 修复上次提交中的拼写错误或小问题
  • 向上次提交添加遗漏的文件
  • 上次提交尚未推送
  • 变更是上次提交的逻辑组成部分

使用 git commit -m message 当:

  • - 变更代表新的逻辑工作单元
  • 上次提交已推送
  • 变更与上次提交无关

3. 检查项目规范

在编写提交信息前:

  1. 1. 查看近期提交信息:git log --oneline -10
  2. 寻找模式:

- 前缀(feat:、fix:、chore: 等)
- 工单引用(#123、JIRA-456)
- Emoji 使用(✨、🐛、📝)
- 大写风格
  1. 3. 如果不明确,询问用户项目规范

4. 编写提交信息

遵循 references/best-practices.md 中的规范:

  • - 使用祈使语气(Add feature 而非 Added feature)
  • 主题行保持在 50 字符以内
  • 具体且描述性强
  • 匹配上述发现的项目规范

5. 安全推送操作

关键约束:仅推送到当前分支。

推送前:

  1. 1. 确认当前分支:git branch --show-current
  2. 显示将要推送的内容:git log origin/$(git branch --show-current)..HEAD --oneline
  3. 请求用户确认
  4. 推送:git push origin HEAD

未经用户明确确认,绝不使用 git push --force。

危险操作

以下操作在执行前需要用户确认:

  • - git push --force 或 git push -f
  • git reset --hard
  • git clean -fd
  • 在共享/公共分支上执行 git rebase
  • git branch -D(强制删除)
  • 对已推送提交的任何历史重写

在请求确认前,始终解释风险。

冲突解决

关键原则:解决冲突时,绝对优先考虑保留所有代码。如果无法自信地解决,必须总结问题并反馈给用户。不要执行自动合并。

冲突处理工作流:

  1. 1. 合并/变基前快照:在尝试合并或变基前,保存当前状态的快照以供记录和安全。
bash scripts/save_diff.sh # 同时创建备份分支 git branch -backup

这会在合并前创建 git diff 文档。

  1. 2. 检测和分析冲突:如果合并或变基过程中出现冲突:
bash scripts/analyze_conflicts.sh

这会为每个冲突文件提供详细的三方差异分析。

  1. 3. 深度冲突分析:对于双方修改了相同代码的复杂冲突:

分析意图:
- 每个版本解决了什么问题?
- 每个版本添加/删除/修改了什么功能?
- 是错误修复、功能、重构还是优化?

比较方法:
- 它们实现了不同的算法吗?
- 它们以不同方式更改了 API 或接口吗?
- 权衡是什么(性能与可读性、简单性与健壮性)?

确定解决策略:
- 保留两者(合并):两个变更都有价值且可以合并
- 保留我们的:我们的变更更完整/正确
- 保留他们的:他们的变更更完整/正确
- 重写:两者都不理想,创建结合见解的更好解决方案
- 询问用户:无法自信决定,需要用户指导

  1. 4. 向用户呈现分析:当冲突无法自动解决时,创建结构化摘要:
- 显示冲突代码的两个版本 - 解释每个版本的意图和权衡 - 提供您的建议及理由 - 请求用户决定 - 详细模板请参见 references/conflict-resolution.md
  1. 5. 解决后文档记录:冲突解决后:
bash # 生成解决差异 git diff --cached > .git/merge-diffs/resolution$(date +%Y%m%d%H%M%S).diff

# 显示摘要
git diff --cached --stat

  1. 6. 验证无代码丢失:完成合并/变基后:
bash # 与备份分支比较 git diff -backup

# 仔细检查意外删除

边缘情况的特别关注:

  • - 分离头指针:脚本会检测并警告;建议在操作前创建分支
  • 子模块:检测并标记;需要特殊处理(参见 references/conflict-resolution.md)
  • 大文件:自动限制输出以防止上下文过载
  • 变基到更少代码:默认保留当前分支的工作(参见 references/conflict-resolution.md)

变基与合并

交互式变基

bash

清理最近 N 次提交

git rebase -i HEAD~N

将功能分支变基到主分支

git checkout feature-branch git fetch origin git rebase origin/main

合并策略

bash

标准合并(保留历史)

git merge feature-branch

压缩合并(单个提交)

git merge --squash feature-branch

常见任务

暂存变更

bash git stash # 暂存当前变更 git stash list # 列出暂存 git stash pop # 应用并移除最近暂存 git stash apply stash@{0} # 应用特定暂存

挑选提交

bash git cherry-pick

撤销变更

bash git restore # 丢弃工作区变更 git restore --staged # 取消暂存文件 git reset HEAD~1 # 撤销上次提交(保留变更)

资源

  • - 帮助脚本:scripts/showhelp.sh(使用指南和示例)
  • 最佳实践参考:references/best-practices.md
  • 冲突解决指南:references/conflict-resolution.md(包含详细分析框架和模板)
  • 快速命令参考:references/quick-commands.md(常见操作的简写)
  • 变更分析脚本:scripts/analyzechanges.sh
  • 冲突分析脚本:scripts/analyze_conflicts.sh(深度三方差异分析)
  • 保存差异脚本:scripts/save

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 effective-git-1776032373 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 effective-git-1776032373 技能

通过命令行安装

skillhub install effective-git-1776032373

下载

⬇ 下载 effective-git v1.0.0(免费)

文件大小: 22.82 KB | 发布时间: 2026-4-13 10:09

v1.0.0 最新 2026-4-13 10:09
Initial release of effective-git: an intelligent Git workflow assistant.

- Provides quick command support via 'gq' prefix for rapid Git operations (e.g., list branches, check status).
- Analyzes changes and recommends best commit strategies (amend vs new commit) while following project conventions.
- Ensures safety and requires confirmation for dangerous operations like force push, hard reset, and history rewrites.
- Guides users through merges and conflict resolution with structured analysis and code preservation.
- Offers detailed best practices and reference guides for common Git workflows and safe code management.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部