github-pr-rebase-mergelisted
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