name: git:rebase description: Rebase branches onto upstream main with automatic base detection
Git Rebase
Rebase the current branch onto the upstream main branch. Uses a pattern that auto-detects the correct upstream remote and main branch.
When to Use
- Before creating a PR (ensure clean history)
- After upstream main has new commits
- During TDD iterations when CI requires a rebase
- When PR has merge conflicts
Quick Rebase (gfur alias)
The gfur alias automatically finds the upstream remote and main branch:
# Define gfur (add to ~/.bashrc or ~/.zshrc)
alias gfur='git fetch upstream && git rebase upstream/$(git symbolic-ref refs/remotes/upstream/HEAD | sed "s@^refs/remotes/upstream/@@")'
Use it:
gfur
If upstream/HEAD is not set:
git remote set-head upstream -a
Manual Rebase
git fetch upstream main
git rebase upstream/main
Rebase Conflicts
If conflicts occur during rebase:
# Check which files conflict
git status
Fix the conflicts, then:
git add <fixed-files>
git rebase --continue
To abort:
git rebase --abort
Sign All Commits After Rebase
After rebasing, ensure all commits are signed (required by Kagenti):
git rebase --signoff HEAD~$(git rev-list --count upstream/main..HEAD)
Related Skills
git:commit- Commit format and conventionsgit:worktree- Parallel development with worktreestdd:ci- TDD workflow that needs rebase before push