PR Rebase
Rebase the current branch on the latest upstream changes, resolve conflicts, and push.
Instructions
Determine the git remote setup:
git remote -v git branch -vvIn GitHub Actions for cross-repo PRs:
originpoints to the head repo (fork) - this is where you pushupstreampoints to the base repo - this is what you rebase onto
For same-repo PRs,
originpoints to the main repo and there may be noupstream.Fetch the latest changes:
git fetch --allRebase onto the base branch:
Use
upstream/mainif theupstreamremote exists (cross-repo PR), otherwise useorigin/main:# Check if upstream remote exists git remote get-url upstream 2>/dev/null && git rebase upstream/main || git rebase origin/mainIf there are merge conflicts:
Identify the conflicting files from the rebase output
Read each conflicting file and understand both versions of the changes
Resolve the conflicts by editing the files to combine changes appropriately
Stage the resolved files:
git add <resolved-file>Continue the rebase:
git rebase --continueRepeat until all conflicts are resolved and the rebase completes
Run lint and push:
Run the
/dyad:pr-pushskill to run lint checks, fix any issues, and push the rebased branch.Summarize the results:
- Report that the rebase was successful
- List any conflicts that were resolved
- Note any lint fixes that were applied
- Confirm the branch has been pushed