Branches are copies of a repository where you can create changes without modifying the parent or master file. Branching is useful for experimental changes, fixing bugs and changes you aren’t sure you want to commit yet. Branching is especially useful when working on a project with multiple developers.
Git allows us to keep track of the changes in our code, and to store those changes. This is known as version control. When used with GitHub, git allows us to keep track of our code in publicly accessible repositories.