Set upstream and push the current branch

Low risk
What do risk levels mean?
Read-only
Inspects state without changing anything.
Low risk
Reversible with a routine follow-up command.
Medium risk
Changes state; undo path documented.
Destructive
Deletes or overwrites; confirmation required.

Publishes the current local branch to the remote and links it to that remote branch, so future plain `git push`/`git pull` work without an explicit branch name.

gitpushupstreambranch

Commands

Confirm which local branch is about to be published

git status --short --branch

Publish the current branch and set it to track the matching remote branch

git push --set-upstream origin HEAD

Verification

git status --short --branch

Branch shows it is now up to date with its new upstream (e.g. `## branch...origin/branch`).

Undo

Remove the branch from the remote

git push origin --delete HEAD

Clear the local tracking reference

git branch --unset-upstream

Pitfalls

  • Fails if a differently-named branch already exists on the remote with diverged history; resolve that before retrying.
  • Deleting a shared remote branch as undo can disrupt collaborators who already fetched it.

Related