With GitHub for Windows, you can \"publish\" a branch, and then \"sync\" that branch to GitHub.
"Sync" would be any actions necessary to have your local branch match your remote branch. If your local branch had commits that your remote branch didn't, then "sync" would push your branch. If the remote branch was ahead of your local branch, then "sync" would pull first (specifically, git pull --rebase
, as was explained by Phil Haack). "Sync" is just a shortcut to getting the local and remote to mirror each other.
From the GitHub site:
The sync button turns the complex workflow of pulling and pushing into a single operation. It notifies you when there are new changes to pull down and lets you quickly share local changes.