2019-07-30 01:02:59 -04:00
---
2020-07-29 08:09:45 -04:00
stage: Create
group: Source Code
2020-11-26 01:09:20 -05:00
info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments"
2019-07-30 01:02:59 -04:00
type: howto
---
2021-02-09 13:09:59 -05:00
# How to create a branch **(FREE)**
2015-07-09 18:33:42 -04:00
2019-07-30 01:02:59 -04:00
A branch is an independent line of development in a [project ](../user/project/index.md ).
2015-07-21 18:45:12 -04:00
2021-06-07 17:10:00 -04:00
When you create a branch (in your [terminal ](start-using-git.md#create-a-branch ) or with
2019-07-30 01:02:59 -04:00
[the web interface ](../user/project/repository/web_editor.md#create-a-new-branch )),
2021-05-20 14:10:33 -04:00
you are creating a snapshot of a certain branch, usually the main branch,
2020-10-15 14:08:43 -04:00
at its current state. From there, you can start to make your own changes without
2021-03-08 13:09:12 -05:00
affecting the main codebase. The history of your changes is tracked in your branch.
2016-10-11 01:21:47 -04:00
2019-07-30 01:02:59 -04:00
When your changes are ready, you then merge them into the rest of the codebase with a
2020-09-28 02:09:56 -04:00
[merge request ](../user/project/merge_requests/creating_merge_requests.md ).