threads / discuss / 32558

Understanding When to Use Branches

Subject: Understanding When to Use Branches

## tl;dr

2 messages between Jan 8, 2013 and Jan 8, 2013.

replies: 1people: 2as markdown or json

gw1500· Jan 8, 2013, 13:46 UTC · lore

As a git noobie I am beginning get get my head around git's version control philosophy. I am now trying to understand the purposes of branches or rather when to use them. In my case I have a Java application under version control with git. I am planning to port it into a mobile app. Is that an appropriate use of branches or should it be created as a new repository? What is the relationship between the same source code in different branches? Do changes to code in one branch get ported to another branch somehow or do all changes then have to be made twice? The documentation tells how to branch but not the general philosophy behind it from a best practices standpoint. Thanks in advance for any insight.

Konstantin Khomoutov· Jan 8, 2013, 17:08 UTC · re: gw1500 · lore

Re: Understanding When to Use Branches

On Tue, 08 Jan 2013 08:46:21 -0500 gw1500 <wtriker.ffe@gmail.com> wrote:

Show 11 quoted lines
> As a git noobie I am beginning get get my head around git's version
> control philosophy. I am now trying to understand the purposes of
> branches or rather when to use them. In my case I have a Java
> application under version control with git. I am planning to port it
> into a mobile app. Is that an appropriate use of branches or should it
> be created as a new repository? What is the relationship between the
> same source code in different branches? Do changes to code in one
> branch get ported to another branch somehow or do all changes then
> have to be made twice? The documentation tells how to branch but not
> the general philosophy behind it from a best practices standpoint.
> Thanks in advance for any insight.

Supposedly you should start with the chapter on branching in The Book [1] and then read two classic blog posts [2, 3] describing two different branching models. The branching models described there are not the only two possible models to use with Git, but they are different enough to give you a good overview of possibilities. Note that mere googling for "git branching model" would yield a fair number of blog posts on people's pet branching models; these two documents just appear to be more "classic" than others.

If you have difficulty to even grasping the concept of branches and [1] feeld hard to digest, try first reading "The Git Parable" [4] which, I think, is the friendliest possible introduction to the basics of DVCS, branching included.

1. http://git-scm.com/book/en/Git-Branching
2. http://nvie.com/posts/a-successful-git-branching-model/
3. http://scottchacon.com/2011/08/31/github-flow.html
4. http://tom.preston-werner.com/2009/05/19/the-git-parable.html

← back to recent threads