I’m new to Git and this is really confusing. I wanted to start off developing a web application on Git and so far I’ve been dealing with troubles that have kept me behind.
I’ve read this blog post on a successful branching model for Git. I was really interested in setting up something similar to this.
It says that the repository has 2 main branches called master and develop. So I went ahead and created a repository. However, to my surprise, the repository itself was the default master branch. How was I supposed to create a develop branch? Do I create it in the parent of the master branch? That would mean that the develop branch is outside the repository.
Am I getting something totally wrong here? Do I just ignore the fact that I’m creating two branches inside the master branch?
A branch is not a directory. It is a commit label that moves along with commits, like tag is a commit label that stays with a particular commit. You will not have anything “inside” the
masterbranch, rathermasteranddevelopwill both initially label the same commit.Create the develop branch like so:
To clarify: let’s say you have the initial commit A. It will be labeled as
masterbranch.If you make a new commit B, the branch label will move:
If you then branch into
develop, the B will get the new label as well:If you commit on the
develop, it will move, butmasterwon’t:If you now commit on the
master, the tree will fork:Meanwhile, you only have in your directory whatever the contents of your current commit is. Switch branches, and the directory contents change.