Skip to main content

Managing branches within your repository

Create new branches for development and delete unused branches directly on GitHub.

Creating a branch

Create a branch for a separate place to work on changes before opening a pull request.

Note

You can only create a branch in a repository to which you have write access.

Creating a branch via the branches overview

  1. On GitHub, navigate to the main page of the repository.

  2. From the file tree view on the left, select the branch dropdown menu, then click View all branches. You can also find the branch dropdown menu at the top of the integrated file editor.

    Screenshot of the file tree view for a repository. A dropdown menu for branches is expanded and outlined in dark orange.

  3. Click New branch.

    Screenshot of the "Branches" page for a repository. A green button, labeled "New branch", is highlighted with an orange outline.

  4. Under "Branch name", type a name for the branch.

  5. Under "Branch source", choose the repository and branch to base your new branch on.

  6. Click Create branch.

Creating a branch using the branch dropdown

  1. On GitHub, navigate to the main page of the repository.

  2. Select the branch dropdown menu, in the file tree view or at the top of the integrated file editor.

    Screenshot of the file tree view for a repository. A dropdown menu for branches is outlined in dark orange.

  3. Optionally, to create the new branch from a branch other than the default branch of the repository, click another branch. Then, select the branch dropdown menu again.

  4. In the "Find or create a branch..." text field, type a unique name for your new branch, then click Create branch.

    Screenshot of the branch selector dropdown menu. "Create branch: new-branch" is highlighted with an orange outline.

Creating a branch for an issue

You can create a branch to work on an issue directly from the issue page. See Creating a branch to work on an issue.

Deleting a branch

Delete branches that you no longer need, such as branches for merged or closed work.

You can have head branches automatically deleted after pull requests are merged in your repository. See Managing the automatic deletion of branches.

Note

If the branch you want to delete is the repository's default branch, choose a new default branch first. See Changing the default branch.

If the branch is associated with an open pull request, merge or close the pull request before deleting the branch.

  1. On GitHub, navigate to the main page of the repository.

  2. From the file tree view on the left, select the branch dropdown menu, then click View all branches. You can also find the branch dropdown menu at the top of the integrated file editor.

    Screenshot of the file tree view for a repository. A dropdown menu for branches is expanded and outlined in dark orange.

  3. Next to the branch that you want to delete, click .

    Screenshot of a branch in the branch list. A trash icon is highlighted with an orange outline.

  4. If the branch is associated with at least one open pull request, deleting the branch closes the pull requests. Read the warning, then click Delete.

If you delete a head branch after its pull request has been merged, GitHub checks for any open pull requests in the same repository that specify the deleted branch as their base branch. GitHub automatically updates any such pull requests, changing their base branch to the merged pull request's base branch. See Branches.

Further reading