← ClaudeAtlas

github-pr-rebase-mergelisted

Merge a stack of GitHub PRs sequentially when they share files and will cause cascading conflicts. Triggers when user says "merge the PRs sorban" or similar, and the PRs come from external forks (cannot push back to PR branch).
Szotasz/marveen · ★ 107 · Code & Development · score 77
Install: claude install-skill Szotasz/marveen
# GitHub PR rebase + merge for conflicting fork PRs ## Mikor használd - 2+ nyitott PR ugyanazon a repo-n, ami átfed fájlokon (pl. `src/web.ts`) - A PR-ok EXTERNAL forkból jönnek (head ref: `someuser:branch`), nem a saját repóból - User azt kéri, hogy sorban mergeld mindet - Nem tudsz pusholni a PR branch-ére (nincs write access a forkhoz) ## Az alap probléma Ha két PR (`A`, `B`) ugyanazt a fájlt módosítja, az egyik merge után a másik CONFLICTING lesz a GitHub UI-ban, és `gh pr merge B` elbukik. Külső forkhoz nem tudsz force-pusholni egy rebaselt változatot, szóval két opció marad: 1. A szerző rebaselje manuálisan és pusholja (lassú, emberfüggő) 2. **Lokálisan rebaseled, majd squash-mergeled main-be, és a PR-t manuálisan close-olod** -- ez a skill ## Eljárás ### 1. Ellenőrzés és tiszta mergek (no conflict) ```bash gh pr view <N> --json mergeable,mergeStateStatus # MERGEABLE + CLEAN -> gh pr merge N --squash --delete-branch # UNKNOWN -> várj 5-10 mp-et és újra kérdezd le (GitHub lazy-resolve) # DIRTY + CONFLICTING -> menj a konfliktus-útra ``` Mindegyik merge után: ```bash git pull --ff-only origin main sleep 8 # GitHub időt igényel a mergeable status újraszámolására ``` ### 2. Konfliktus út (rebase + manual merge) ```bash # 1. Húzd le a PR-t lokális tracking branch-re gh pr checkout <N> # 2. Rebaseld main-re git rebase main # Konfliktus lesz. Rendezd a markereket (<<<<<<< / ======= / >>>>>>>) # Tipikus eset: két branch új importot adott ugyanahhoz az import blokkh