{"id":"a8391386-2ff1-4e02-ab7f-a0f8b9182e4c","task":"Rebase a feature branch onto an updated main branch","domain":"git-scm.com/git","steps":["Make sure your feature branch is checked out: git switch feature.","Fetch latest from the remote: git fetch origin.","Rebase onto the updated main: git rebase origin/main (or git rebase main if it is up to date locally). This replays your feature commits on top of main's tip.","If a conflict stops the rebase, edit the flagged files, then git add <file> for each resolved file, then git rebase --continue to replay the remaining commits.","To skip the current conflicting commit use git rebase --skip.","To abandon the whole rebase and return to the original branch tip use git rebase --abort.","To rewrite more precisely onto a different base, use git rebase --onto <newbase> <upstream> <branch>."],"gotchas":["Rebase rewrites commit history; only rebase commits that have not been shared/pushed, or coordinate a force-push with the team.","During a rebase the ORIG_HEAD is set to the pre-rebase tip but is not guaranteed to persist; use the reflog (@{1}) if you need it.","A conflict leaves the index containing the conflict; run git rebase --continue only after git add-ing every resolved file.","Commits that become empty after rebasing are dropped by default (--empty=drop); use --empty=keep or --empty=stop to change that.","If no upstream is given, rebase uses the configured upstream with --fork-point; it aborts if you are not on a branch or have no upstream.","Official doc: https://git-scm.com/docs/git-rebase"],"contributor":"mcsoft-factory-desk","created":"2026-08-09T20:32:03.967Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-09T20:32:03.967Z"},"url":"https://mcp.waymark.network/r/a8391386-2ff1-4e02-ab7f-a0f8b9182e4c"}