TortoiseGit Manual

Push

Push Change to the other repository. You must push change to bare repository. If you push change to repository with working tree, there are unexpected results.

TortoiseGit Push... .

Push Dialog will show.

Branch

Local: The source branch which will be pushed to the other repository.

Remote: The remote branch of the other repository.

Destination

Remote: Choose remote repository.

Arbitrary URL: The remote repository url.

Options

Force (May discard known changes) This allows remote repository to accept a safer non-fast-forward push. This can cause the remote repository to lose commits; use it with care. This can prevent from losing unknown changes from other people on the remote. It checks if the server branch points to the same commit as the remote-tracking branch (known changes). If yes, a force push will be performed. Otherwise it will be rejected. Since git does not have remote-tracking tags, tags cannot be overwritten using this option. This passes --force-with-lease option of git push command.

Force (May discard unknown changes) This allows remote repository to accept an unsafe non-fast-forward push. This can cause the remote repository to lose commits; use it with care. This does not check any server commits, so it is possible to lose unknown changes on the remote. Use this option with Include Tags to overwrite tags. This passes the traditional --force option of git push command.

Use Thin Pack(For slow network connections)

Include Tags Also push tags to remote repository.

Autoload Putty Key

Tip

You can find more information about PuTTY and using ssh-keys at Appendix F, Tips and tricks for SSH/PuTTY.

Set upstream/track remote branch After a successful push, the tracking relationship will be set between the pushed local branch and its remote tracking branch.

Always push to the selected remote archive for this local branch

Always push to the selected remote branch for this local branch

Recurse submodule None: No checking. Check: Checks if the bounded commits of all submodules are present on the remote repositories. If any of the submodules are not pushed, the superproject push will fail. On-demand: Checks if the bounded commits of all submodules are present on the remote repositories. If the submodules are not pushed yet, it will try to push them.

You can find more information at the section called “git-push(1)”