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: For same-repo PRs,originpoints to the main repo and there may be noupstream.
- origin points to the head repo (fork) - this is where you push - upstream points to the base repo - this is what you rebase onto
- Fetch the latest changes:
git fetch --all - Rebase 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/main - If 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 --continue - Repeat 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