For programmers, you do not need to create your own branch for work. In the simplest case, programmers pass the βleadingβ branch of their own repository, and then git push those that are taken upstream to the repository.
To deploy to a production server, one way to do this is to use git clone on the production server to get the local repository. Then, to upgrade the production server, log in and git pull . Any changes that were committed to the main repository will be applied.
Developers can optionally create their own branches for their own use (only in their local repository) or branches for sharing with others (by pushing branches into a common repository).
source share