用途:将当前分支的改动安全推送到 origin,并为该分支创建或更新对应的拉取请求(PR)。适用于被要求推送代码、发布更新或创建 PR 的场景。
前提条件:已安装 gh CLI 且在 PATH 中可用;gh auth status 在该仓库的 GitHub 操作中成功通过。
主要能力:识别当前分支并确认远端状态;在推送前运行本地校验(make -C elixir all);按当前已配置的远端地址推送分支并按需设置上游跟踪;若分支尚无 PR 则创建,已有开启的 PR 则更新,若分支关联的是已关闭或已合并的 PR 则新建分支与 PR;编写清晰的 PR 标题并随范围变化更新;依据 .github/pull_request_template.md 撰写或刷新 PR 正文,填充所有区块、替换占位注释、保留要点与复选框;用 mix pr_body.check 校验正文;最后返回 gh pr view 给出的 PR URL。
使用方式(关键命令保持原样):branch=$(git branch --show-current);make -C elixir all;git push -u origin HEAD;仅在历史被本地重写时使用 git push --force-with-lease origin HEAD;用 gh pr view 判断 PR 状态,gh pr create 或 gh pr edit 创建/更新标题,gh pr view --json body 导出正文后用 mix pr_body.check --file 校验。
限制:推送被拒若是非快进或同步问题,应改用 pull 技能合并 origin/main、解决冲突并重新校验后再推送;若是认证、权限或工作流限制导致被拒,应直接反馈原始错误,不要改写远端或切换协议绕过。不得使用 --force,仅在万不得已时使用 --force-with-lease。