Topic branches are typically lightweight branches that you create locally and that have a name that is meaningful for you. They are where you might do work for a bug fix or feature (they’re also called feature branches) that is expected to take some time to complete.
Another type of branch is the “remote branch” or “remote-tracking branch”. This type of branch follows the development of somebody else’s work and is stored in your own repository. You periodically update this branch (using git fetch
) to track what is happening elsewhere. When you are ready to catch up with everybody else’s changes, you would use git pull
to both fetch and merge.
I have also seen another kind of branch which is essentially a completely separate tree of files in the same repository. For example, the Git repository itself contains heads named man and html that contain entirely different content from the master branch. I don’t know what these types of branches are usually called.