Git Operations Automation logo

Git Operations Automation

打开

Claude Code 的 Git 提交推送 Skill:通过内置 smart_commit.sh 一步完成暂存、生成约定式提交信息并推送当前分支。

分享:
查看替代方案

概述

Git Operations Automation 对应 mhattingpete/claude-skills-marketplace 中的 git-pushing Skill。该仓库是面向软件工程工作流的 Claude Code 插件市场(Apache-2.0),这个 Skill 位于 engineering-workflow-plugin,同插件还有功能规划、修复测试、落实评审意见等 Skill。它的职责很聚焦:当你说「commit and push」「推送一下」时,Claude 只调用一个脚本完成暂存、提交与推送,而不是临时拼凑一串 git 命令。

工作原理

Skill 要求 Claude 始终调用 scripts/smart_commit.sh,而不是手写 git 命令。脚本会:

  1. 工作区没有改动时直接提示「No changes to commit」并退出。
  2. 用 git add . 暂存所有改动。
  3. 未传入提交信息时,按暂存文件推断约定式提交类型:路径含 test 为 test;.md/.txt/.rst 为 docs;package.json、requirements.txt、Cargo.toml 为 chore;diff 中出现 fix 或 refactor 则为对应类型;其余为 feat。并按路径生成 scope(如 plugin、skill 或顶层目录)。
  4. 提交时附加 Claude Code 页脚和 Co-Authored-By: Claude 署名。
  5. 推送;新分支会自动 -u origin <branch>,GitHub 远端还会输出「Create PR」链接。

快速上手

# 在 Claude Code 中
/plugin marketplace add mhattingpete/claude-skills-marketplace

然后对 Claude 说「提交并推送这些改动」,或自己指定信息:

bash skills/git-pushing/scripts/smart_commit.sh "feat: add feature"

适用场景

  • 在功能分支上结束一次 Claude Code 会话时快速存档推送。
  • 不手敲也能保持约定式提交格式。
  • 个人项目中「全部暂存」本就符合习惯的场景。

局限

  • git add . 会暂存所有改动,可能包含不想提交的文件,使用前先看 git status 和 .gitignore。
  • 自动生成的信息较笼统(如「update 3 file(s)」),重要提交建议自己写。
  • 会立即推送,不适合受保护或多人共用的分支。

常见问题

它能处理合并冲突或 rebase 吗?

不能。脚本只负责暂存、提交和推送,推送失败会报错退出。

可以自己写提交信息吗?

可以。把信息作为第一个参数传入,脚本就不会自动生成。

替代方案

更多内容见 Skills 分类 与 git 标签。

评论

还没有评论。成为第一个评论的人!