Git
In this tutorial we will learn about branches in Git.
A branch in Git represents an independent line of development having its own working directory, stagging area and committed project history.
The first branch that we get when we create a Git repository is called the master branch.
Commonly, the master branch holds the production code, the one running in the production environment and your users are interacting with it.
Development work is generally done in a separate dev branch which is later merged with the master branch when they are ready for production server.
Single project multiple branches.
Generally a project has multiple branches like master, testing, dev1, dev2 and so on.
In the above image we have a master branch and a pointer pointing at the last commit.
All changes committed using the git commit
command is saved in the branch we are currently on.
To list all the branches we use the git branch
command.
$ git branch
* master
The above output tells us that there is only one branch master and the *
denotes that we are currently on it.
To create a new branch we use the git branch [name]
command.
$ git branch dev
The above command creates a new branch called dev and a new pointer pointing at the last commit.
The above image represents the master and dev branch.
Branches are just pointers to commits.
Now, if we list the branches we will see two names.
$ git branch
dev
* master
To start committing changes to a new branch we have to first jump (switch) on it. To checkout a branch we use the git checkout [name]
command.
$ git checkout dev
Switched to branch 'dev'
In the above example we are switching to the dev branch.
Now, if we commit changes using the git add
and git commit
commands then it will be saved in the dev branch as we are currently on it.
More on git checkout later.
To delete a branch we use the git branch -d [name]
command.
$ git branch
dev
dummy
* master
$ git branch -d dummy
Deleted branch dummy (was f066f07).
$ git branch
dev
* master
In the above output we can see that there are 3 branches. Then we are deleting the dummy branch.
The git branch -d [name]
command is a "safe" command. Git will not allow us to delete a branch if it has unmerged changes.
To forcefully delete a branch we use the git branch -D [name]
command. This will permanently delete all the unmerged changes that were made to the branch.
$ git branch -d dummy
error: The branch 'dummy' is not fully merged.
If you are sure you want to delete it, run 'git branch -D dummy'.
$ git branch -D dummy
Deleted branch dummy (was 9be9a2f).
In the above example we have a dummy branch which has some unmerged changes and so we are not allowed to delete it using the git branch -d dummy
command. So, we use the git branch -D dummy
to delete it.
To rename the current branch we use the git branch -m [name]
command.
In the given example we have two branches dev and master. Then we are creating a new branch hello. Then we are switching to the hello branch. Then using the git branch -m helloworld
command we are renaming the hello branch to helloworld.
$ git branch
dev
* master
$ git branch hello
$ git branch
dev
hello
* master
$ git checkout hello
Switched to branch 'hello'
$ git branch
dev
* hello
master
$ git branch -m helloworld
$ git branch
dev
* helloworld
master
ADVERTISEMENT