push-code

SKILL.md

推送代码

这个 skill 帮助将本地代码提交推送到远程仓库,确保推送前拉取最新代码以避免冲突。

何时使用

当用户出现以下情况时调用此 skill:

  • 用户说"推送代码"、"push"、"git push"
  • 用户需要将本地提交推送到远程仓库
  • 用户执行 git 推送相关操作时

工作流程

  1. 检查当前状态

    • 执行 git status 查看当前分支状态
    • 确认本地有未推送的提交
    • 获取当前分支名称
  2. 处理未提交的更改

    • 如果有未暂存的更改,先暂存这些更改(使用 git stash
  3. 拉取最新代码

    • 执行 git pull --rebase 拉取当前分支的最新代码
    • 如果之前有暂存的更改,恢复这些更改(使用 git stash pop
  4. 推送代码

    • 使用 git push origin HEAD:refs/for/分支名称 推送代码到远程仓库
    • 确认推送成功
    • 如果推送命令失败,请检查错误信息并根据需要联系项目管理员

使用场景

  • 当本地提交需要推送到远程分支时
  • 当需要将代码提交到代码审查系统时
  • 当完成本地开发需要分享代码时

注意事项

  • 推送前必须先拉取最新代码,避免冲突
  • 确保有权限推送到远程仓库(例如 Gerrit 的 refs/for/*
  • 不同项目可能使用不同的推送命令,请根据实际情况调整
  • 推送代码需要用户的明确确认
  • 如果遇到权限问题,请联系项目管理员获取相应权限

技术实现细节

  1. 分支名称获取:通过 git branch --show-current 获取当前分支名称
  2. 推送命令:使用原始命令 git push origin HEAD:refs/for/<branch>,不依赖本地别名或工具
  3. 错误处理:如果推送失败,向用户提供清晰的错误信息
  4. 状态反馈:每一步操作都会向用户提供清晰的状态反馈

示例执行步骤

  1. 检查当前状态:git status
  2. 获取当前分支:git branch --show-current
  3. 处理未提交更改:git stash push -m "暂存本地更改"
  4. 拉取最新代码:git pull --rebase
  5. 恢复暂存更改:git stash pop
  6. 推送代码:git push origin HEAD:refs/for/feature/v0.3.1
Weekly Installs
1
First Seen
5 days ago
Installed on
mcpjam1
claude-code1
junie1
windsurf1
zencoder1
crush1