Git branching allows developers to work independently in parallel on different parts of the same project. Branches are pointers to commits and don't change the repository when created. Git checkout switches between branches, commits, and files. Git revert undoes changes by creating a new commit, while reset removes commits. Common workflows include centralize, feature branch, and Gitflow models, with the latter having main branches of master and develop plus supporting feature, release, and hotfix branches.