Git

How to Create Branches on Git

How to Create Branches on Git
Git is one of the best version control system out there. It is very popular among almost every type of software developers and system administrators for managing source codes.

In this article, I am going to talk about a very important feature of Git, Git branches. So, let's get started.

Git Branches:

Let's say, you're working on your project. All of a sudden, you have a great idea that you want to test out. But, you're not sure whether it would work or not. Don't fear, Git branch is here!

Well, you can create a new Git branch on your project, then start testing your ideas on the new branch. If you like it, you can merge it with the master branch. If you don't like it, you can discard/remove it anytime. It won't affect your original work.

Note that, the master branch is the default branch in Git. It is automatically created and used when you initialize a new Git repository.

In the next sections of this article below, I am going to show you how to create Git branches, use Git branches and remove Git branches. So, let's move forward.

Preparing a Git Repository for Testing:

In this section, I will clone one of my GitHub repository to my computer. I will do different branching operation in this repository later. If you want, you can use your own Git repository as well.

If you want to use my GitHub repository for testing the things I've shown in this article, then run the following command to clone it.

$ git clone https://github.com/shovon8/angular-hero-api

Once the Github repository is cloned, navigate to the project directory as follows:

$ cd angular-hero-api

Listing Existing Git Branches:

You can list all the existing Git branches you have on your Git repository with the following command:

$ git branch

As you can see, I have only one branch master on my Git repository. As you create more branches, it will show up here. The active branch has an asterisk (*) in front of it. It will also have different color than the other branches. As you can see, the master branch has an asterisk (*) in front of it, so it is the currently active branch.

Creating Git Branches:

Now, let's say you want to create a new Git branch (let's call it new-features) for trying out your awesome ideas. To do that, run the following command:

$ git branch new-features

A new branch new-features should be created from the HEAD (last commit) of the master branch.

Now, if you list all the existing Git branches on your Git repository, the new branch should be listed as you can see in the screenshot below.

$ git branch

Checkout to Git Branches:

Earlier, you've created a new Git branch new-features. But, it is not active as you can see in the screenshot below.

Activating a branch is called checkout in Git.

To checkout to the new branch new-features, run the following command:

$ git checkout new-features

Now, if you list all the branches, you should see the new-feature branch is active.

Creating and Checking Out to A New Branch:

If you don't want to create a branch first and checkout to it later with two different commands, then Git has a solution for you as well. You can create and checkout to your newly created branch at the same time with a single command. To do that, you can use the -b option of git checkout.

We could've created the new-feature branch and checked out to it very easily in the earlier example with the following command:

$ git checkout -b new-feature

Committing Changes to Git Branches:

Once you checkout to your new branch new-features, you can start adding new commits to this branch.

For example, I've changed a file package.json in my Git repository as you can see from the git status command:

Now, you can add new commits to the new branch new-features as you can see in the screenshot below.

$ git add -A
$ git commit -m 'fixed package versions in the package.json file'

As you can see, the new commit is added to the new-feature branch.

$ git log --oneline

Now, if you checkout to the master branch, you won't see the new commit. The new commit is only available in the new-features branch until you merge the two branches.

Creating New Branch from Another Branch or Commit:

If you want to create a new branch from another commit or from the HEAD (last commit) of another branch, you will have to specify it when you create the new branch.

If you don't specify the source branch or commit from which to create the new branch, then the new branch will be created from the HEAD (last commit) of the branch you're currently checked out as.

To create a new branch (let's say test) from the HEAD (last commit) of another branch (let's say, new-features), run the following command:

$ git branch test new-features

As you can see, both the test and new-features branch has the same commit history.

Let's say, you want to create a new branch test2 from an existing commit from another branch master.

First, list all the commits with the following command:

$ git log -oneline master

As you can see, all the commits of the master branch are displayed. Notice that each of the commits has a unique hash. To create a new branch from an existing commit, you have to use the hash of your desired commit.

Now, let's say, you want to use to the commit 45c336e as the HEAD (last commit) of the new branch test2. To do that, run the following command.

$ git branch test2 45c336e

As you can see, the new branch test2 has the commits up to 45c336e.

So that's how you create branches on Git. Thanks for reading this article.

Cum se afișează suprapunerea OSD în aplicații și jocuri Linux pe ecran complet
Jucarea jocurilor pe ecran complet sau utilizarea aplicațiilor în modul ecran complet fără distragere vă poate elimina din informațiile relevante ale ...
Top 5 cărți de captură a jocului
Cu toții am văzut și ne-au plăcut jocurile de streaming pe YouTube. PewDiePie, Jakesepticye și Markiplier sunt doar câțiva dintre cei mai buni jucător...
Cum să dezvolți un joc pe Linux
Acum un deceniu, nu mulți utilizatori de Linux ar fi prezis că sistemul lor de operare preferat va fi într-o zi o platformă populară de jocuri pentru ...