> ## Documentation Index
> Fetch the complete documentation index at: https://docs.parallelane.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Push

> Uploading the current branch, force-push, and pushing tags

Uploads the current branch of the current worktree to the remote.
The toolbar's **Push** button opens the modal.

* **Push to** shows the destination and the number of commits to send, in the form `<remote>/<branch> ← <branch>`.
  The remote at the front of that line is the dropdown described in [Choosing the remote](/remote/push-pull-fetch#choosing-the-remote).
  A branch with no upstream gets one registered automatically on push.
* **Force (--force-with-lease)** applies when pushing again after a rebase or amend.
  Turning it on shows a warning and turns the action button red.
* **Push tags (--tags)** also uploads local tags.
  Turning it on shows the list of tags that would actually be pushed.
  The default follows [Settings → ParalleLane → Git](/settings/preferences).

<Frame>
  <img src="https://mintcdn.com/railgit/La2vIBMFHafSrcPT/images/remote-push-dialog.png?fit=max&auto=format&n=La2vIBMFHafSrcPT&q=85&s=0dae977aaebceb137b8ba4c7d2627df6" alt="The push dialog, showing the origin/branch destination and commit count to send, and the force-push and push-tags options" width="886" height="628" data-path="images/remote-push-dialog.png" />
</Frame>

<Warning>
  Even with `--force-with-lease`, a **force push** can still rewrite remote history.
  On a shared branch, coordinate with your team.
</Warning>

<Tip>
  If a push is rejected because the remote has new commits, [Pull](/remote/push-pull-fetch/pull) first to merge them in, then push again.
</Tip>
