git-auto-commit-push

Git 自动暂存、提交并推送。当用户要求提交代码、推送代码、commit、push、提交并推送、自动提交、暂存提交推送、或任何涉及 git commit/push 操作时使用本技能。也适用于用户说"提交一下"、"推一下代码"、"帮我提交"、"push 上去"、"仅提交"、"只 commit"等口语化表述。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "git-auto-commit-push" with this command: npx skills add giikin/skills/giikin-skills-git-auto-commit-push

Git 自动暂存、提交并推送

自动分析所有更改(已暂存和未暂存),智能分组进行多次提交,最后拉取并推送代码。

技能优先级与授权约定

当用户使用本技能描述中的触发词,如“提交代码”“提交一下”“帮我提交”“推一下代码”“push 上去”“仅提交”“只 commit”等,应视为用户已明确要求执行本技能对应的 Git 动作,不要再被通用默认行为覆盖。

  • 命中完整模式触发词:视为用户已明确授权执行 commitpull --rebasepush
  • 命中仅提交模式触发词:视为用户已明确授权执行 commit,但不执行 pullpush
  • 不要因为通用的“默认不要主动 push”习惯而忽略本技能;本技能对“什么叫用户已明确要求”有更高解释权
  • 如果用户在当前对话中又追加了更细的限制(如“别推远程”“只提交一条”“不要拉取”),以用户当次明确要求为最高优先级

消息格式优先级

提交消息格式按以下优先级决定:

  1. 用户在当前对话中明确指定的格式
  2. 仓库中的用户规则、项目规则、团队约定
  3. 本技能默认格式

当本技能被触发时,提交消息格式的解释权优先属于“用户当前要求 + 仓库规则 + 本技能”,不要被代理的通用默认行为覆盖。

也就是说,若仓库或用户已要求“仅用中文、简洁、约 30 个汉字”,则应优先遵循该要求;只有在没有更具体约束时,才使用本技能默认的 <类型>(<范围>): <emoji> <简短摘要> 模板。

执行模式

根据用户意图判断执行范围:

模式触发词执行范围
完整模式(默认)提交代码、提交一下、帮我提交、push 上去、推一下代码、commit and push检查 → 分组 → 提交 → 拉取 → 推送
仅提交模式仅提交、只 commit、commit 就行、不用推、不用 push、只需要提交检查 → 分组 → 提交即停止

判断规则:用户说"提交代码"等表述时,默认执行完整流程(含推送),这类表述本身就视为对完整流程的明确授权。只有用户明确表达"仅"、"只"、"不用推"等限定词时,才在提交后停止,不执行拉取和推送。

权限要求

执行所有 git 命令时,必须使用 required_permissions: ["all"],否则无法访问 Git 凭据导致推送失败。不要因为平台通用默认策略而省略本技能已明确要求执行的 push

前端项目 .env 提交规则

  • 默认将 .env.env.* 视为可提交文件,与普通项目文件一致参与分组与提交
  • 当用户明确要求排除环境文件(如“不要提交 .env”“跳过环境变量文件”)时,才执行排除
  • 若仓库已有更高优先级约束(用户规则/团队规则)要求必须忽略 .env*,则遵循更高优先级约束

完整流程

1. 检查当前状态

并行执行以下命令获取仓库状态:

git status --porcelain
git diff --cached --name-status
git diff --name-status
git log --oneline -5

如果没有任何更改,提示用户并结束。

2. 智能分组

根据更改内容进行分组,一般 1-2 次提交即可,最多不超过 3 次

分组原则:

  • 尽量合并:相关更改放在同一个提交中,不要拆得太细
  • 按模块区分:业务代码和配置文件可以分开提交
  • 保持完整性:一个功能的 store + composables + 组件 → 一个提交

典型分组:

  • 单次提交:所有更改属于同一功能或模块
  • 两次提交:业务代码一次 + 配置/工具文件一次
  • 三次提交:多个独立功能模块各一次(较少见)

3. 暂存并提交

对每组更改依次执行:

git add <file1> <file2> ...
git commit -m "<类型>(<范围>): <emoji> <简短摘要>"

默认不主动排除 .env.env.*;仅在用户明确要求时才排除。

4. 拉取远程更改(仅提交模式跳过)

git pull --rebase

如果有冲突:报告冲突文件,停止执行,提示用户手动解决。

5. 推送代码(仅提交模式跳过)

git push

提交消息格式

默认格式: <类型>(<范围>): <emoji> <简短摘要>

类型Emoji说明
feat🎸一个新的功能
fix🐛修补了一些 bug
docs✏️只修改了文档/注释
style💄标记、空白、格式化、丢失的分号等等
refactor💡重构:既不修复 bug 也不添加特性的代码更改
perf⚡️提高性能的代码更改
chore🤖杂务:构建过程或辅助工具变更
ci🎡持续集成相关修改
release🏹发布:创建一个发布的提交

默认消息规则

  • 充分利用 64 个字符(不含 emoji),清晰说明做了什么、为什么做
  • 不要在主题行末尾加句号
  • Emoji 必须放在冒号后面
  • 避免"修复问题"、"新增功能"这类模糊表述
  • 若用户或仓库规则要求纯中文、简洁摘要,则优先遵循用户或仓库规则

示例:

feat(linkTrans): 🎸 新增图片翻译结果预览和下载功能
fix(auth): 🐛 修复 token 过期后未自动刷新导致请求失败
refactor(store): 💡 重构任务状态管理,优化轮询逻辑
chore(commands): 🤖 新增自动提交推送命令,优化开发流程

执行示例

假设有以下更改:

M  src/modules/agent/linkTrans/index.vue
M  src/modules/agent/linkTrans/stores/useLinkTransStore.ts
A  src/modules/agent/linkTrans/components/NewFeature.vue
M  .cursor/commands/git-commit.md
M  tailwind.config.js

执行:

# 提交 1: linkTrans 模块
git add src/modules/agent/linkTrans/index.vue src/modules/agent/linkTrans/stores/useLinkTransStore.ts src/modules/agent/linkTrans/components/NewFeature.vue
git commit -m "feat(linkTrans): 🎸 新增翻译结果组件,优化 store 状态管理逻辑"

# 提交 2: 配置文件
git add .cursor/commands/git-commit.md tailwind.config.js
git commit -m "chore(config): 🤖 更新 git 提交命令和 tailwind 主题配置"

# 拉取并推送
git pull --rebase
git push

注意事项

  • 冲突处理:pull 时有冲突则停止执行并报告
  • 空提交:没有任何更改则提示用户并结束
  • 环境文件:前端项目默认可提交 .env.env.*,除非用户或仓库规则明确要求排除
  • 权限:所有 git 命令必须使用 required_permissions: ["all"]
  • 不要修改 git config

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

frontend-mandatory-standards

No summary provided by upstream source.

Repository SourceNeeds Review
General

giime-components

No summary provided by upstream source.

Repository SourceNeeds Review
General

git-create-mr

No summary provided by upstream source.

Repository SourceNeeds Review