Git is a decentralised SCM. You checkout the entire repo locally. When you push you are syncing your local repo with a remote repo. In this case, its bitbucket.

Updated: