In a team
git push -u origin master
The -u flag means your local branch will become a tracking branch. That is, a branch that tracks the remote branch, so that future git pull will know which branch to merge, and git push will be directed to the correct remote branch.
Technically, tracking adds the following main branch information to your .git/config file:
[branch "master"] remote = origin merge = refs/heads/master
and it creates a file here .git/refs/remotes/origin/master representing the remote branch.
These settings are local to the current repository, so they will not be applied to other repositories.
Changes to .git/config are permanent (unless you explicitly change them), so the effects of git push -u are permanent.
source share