Skip to content

推送到主分支(标准流程) ​

当你说 「推送到主分支 / master」 时,应使用统一脚本,而不是只执行 git push origin HEAD:master。

目标 ​

  1. 远程 origin/master 更新(触发站点 CI 部署)
  2. 本地 master 与 work/site 等工作树中的 master 一并 fast-forward 到同一提交
  3. 当前功能分支(如 ai-docs-automation)使命结束:本地删除;默认同时删除远程同名分支
  4. 当前工作目录 停在 origin/master 对应的 detached HEAD,下次干活时 git switch -c <新分支> origin/master

命令 ​

在功能分支上、且工作区已 commit 干净后:

bash
chmod +x scripts/publish-to-master.sh   # 首次
./scripts/publish-to-master.sh

预览:

bash
DRY_RUN=1 ./scripts/publish-to-master.sh

保留远程功能分支(少见):

bash
KEEP_REMOTE_BRANCH=1 ./scripts/publish-to-master.sh

双 worktree 说明 ​

本仓库常见布局:

目录分支
work/site-automation日常开发(功能分支)
work/site占用本地 master 检出

脚本会在 work/site 内对 master 做 merge --ff-only origin/master,避免「远程已推、本地 master 仍落后几十个提交」的情况。若有未提交改动会先 stash。

Git 不允许两个目录同时 checkout master,因此在 site-automation 结束分支时用 detached HEAD @ origin/master,而不是在此目录 git switch master。

Agent 约定 ​

用户明确要求推送到主分支时,按 scripts/publish-to-master.sh 执行完整流程,并在回复中说明:远程 master、本地 master/worktree、功能分支是否已删除、下次开分支命令。