# Branches

A GitHub branch is used to work with different **versions** of a repository at the same time.

By default, a repository has a **master** branch (a production branch).

Any other branch is a **copy** of the master branch (as it was at a point in time).

New Branches are for bug fixes and feature work separate from the master branch. When changes are ready, they can be merged into the master branch. If you make changes to the master branch while working on a new branch, these updates can be pulled in.

![](https://601772613-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDi7OgRVGOjQGJZ0iRyAc%2Fuploads%2FXrUVhhUhMOjg2Y7JOxSi%2Ffeature-branch-with-develop-git-workflow-2.png?alt=media\&token=4e0f074e-7eef-482f-b046-46e00faa7b76)
