Separate workspace where you can make changes and try new ideas without affecting main project
Isolated, contained development area
Add content to a repository without affecting other code
Can be created from any other branch
Allows multiple users to contribute to project without interfering with each other
Fix a bug or add a feature without breaking the main project
Experiment with new ideas without affecting the main project
Housed within the repository, rather than across copies of the repository
Collaborating and project management within a team, rather than outside the team
Switching between branches changes the repository structure, rather than switching to a different repository
Branches can be ephemeral or permanent
Branches can have separate read/write access from each other
Proposal to merge changes from a branch (or fork) into another
Slight misnomer; “pull” is more like “push” or “merge” in this respect
Initiates a conversation between the requester and collaborators
Review and discuss changes prior to merging
U.S. Department of Commerce | National Oceanic and Atmospheric Administration | National Marine Fisheries Service