Skip to content

dev2merge: gh pr merge 后缺少本地 main 同步步骤 #381

@aider4ryder

Description

@aider4ryder

问题描述

dev2merge / pr-codex-bot 流程在 gh pr merge 完成后,没有将远程合并结果同步回本地 main 分支。导致远程 main 已更新,但本地 main 仍停留在合并前的旧 commit。

复现步骤

  1. 在 feature branch 上完成开发,push 到 origin
  2. gh pr create 创建 PR
  3. gh pr merge --merge --admin 合并 PR(远程操作)
  4. 此时本地 main 仍指向旧 commit,git log --oneline -1 maingh pr view --json mergedAt 不一致

期望行为

gh pr merge 成功后,dev2merge 流程应自动执行:

git fetch origin
git checkout main
git merge origin/main --ff-only

确保本地 main 与远程一致,避免后续操作基于过期的本地 main 状态。

影响范围

  • dev2merge skill: merge 步骤末尾缺少本地同步
  • pr-codex-bot skill: 如果有 post-merge 操作依赖本地 main 状态,也会受影响
  • commit skill (Rule 015): "Git atomicity: commit→push→PR→merge is a transaction — verify each step" — 当前 merge 步骤的验证不完整,只确认了远程状态,未验证本地状态

建议修复

dev2mergepr-codex-bot 的 PATTERN.md / workflow.toml 中,gh pr merge 步骤之后添加:

# Post-merge: sync local main
git fetch origin
git checkout main
git merge origin/main --ff-only
git log --oneline -1  # verify local matches remote

实际案例

  • 项目: RyderFreeman4Logos/fluctlight
  • PR: https://github.com/RyderFreeman4Logos/fluctlight/pull/2
  • 分支: feat/fluctlight-coremain
  • 现象: gh pr merge 2 --merge --admin 成功,gh pr view 2 显示 MERGED,但本地 git log --oneline -1 main 仍为旧 commit 1b805ae,需要手动 git fetch + git merge --ff-only 才能同步

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions