The "push" command uploads data from a local branch to a specified remote repository.
To share your work with others you have to push your local changes to a remote repository. You can decide for yourself which branches you want to publish: local branches are kept private to you until you explicitly push them to a remote server.
IMPORTANT:Before pushing a branch to a remote repository it's best to make sure your local branch is up-to-date by pulling changes from the remote.
In a lot of cases you will simply want to push your current HEAD branch to a remote.
Click the "Push" button in Tower's main toolbar or select "Push HEAD..." from the "Working Copy" main menu.
In the following dialog select the branch on the remote repository which you want to update.
The dialog's options let you further customize the operation:
Push all tags
By default, only the selected branch is pushed. Check this option to additionally push all tags.
Push all branches
Instead of just pushing the specified branch, all refs under refs/heads/ will be pushed. If (amongst those refs) there are branches that don't exist on the remote repository they will be created.
If you want to push a certain local branch you can use the "Push To..." command in Tower. This doesn't have to be your current HEAD branch - although it can be.
Drag the local branch you want to push and drop it on a remote branch in the Sidebar. Alternatively, you can right-click the local branch and select "Push To..." from the contextual menu.
In the following dialog make sure that both the local branch and the remote / remote branch settings are as you desire.
NOTE:You can also enter the name of the remote branch yourself (instead of selecting it from the drop down list). If you enter a name that doesn't exist on the remote, yet, a new branch will be created on the remote repository.
A more comfortable way to create a branch on a remote repository, though, is Tower's "Publish Branch" command.
TIP:Pushing a branch that hasn't been published on a remote repository, yet, can be easily done by using Tower's "Publish" command.