Push to PR
Push local commits to an existing PR's source branch. Never create new branches.
Workflow
- Find PR head branch
curl -s https://api.github.com/repos/{OWNER}/{REPO}/pulls/{N}
| python3 -c "import sys,json; p=json.load(sys.stdin); print(f"branch={p['head']['ref']}\nclone_url={p['head']['repo']['clone_url']}\ncan_modify={p['maintainer_can_modify']}")"
-
head.ref = branch name (e.g. active_visual_chat )
-
head.repo.clone_url = fork URL
-
maintainer_can_modify must be true
- Ensure remote exists
git remote -v # check if clone_url already listed git remote add <name> <clone_url> # only if missing
- Fetch + rebase if needed
git fetch <remote> <branch>
If local commits not on top:
git rebase <remote>/<branch>
- Push
git push <remote> HEAD:<branch>
Critical Rules
-
NEVER create new branches on any remote
-
NEVER git push <remote> <local_branch> if local branch differs from PR branch — always use HEAD:<pr_branch>
-
Branch name comes only from head.ref in API response
-
If maintainer_can_modify is false , inform user — cannot push
-
If push rejected (non-fast-forward), fetch and rebase first