jayunit100
jayunit100

Reputation: 17648

Advantage of git branches over standard source commits

It seems to me as though Git is very powerful if one does not trust their developers, i.e. in massively open-source workflows.

However, I wonder what the most effecient use of Git is in a well organized project, where "n" developers are developing in "n" separate source packages, communicating effectively (i.e. via IRC, for example) about generic improvements, and commiting thoughtfully...

It seems that in this scenario, heavy branching simply adds boiler plate to an existing source tree.

Thus, I pose the question of what the advantages of Git's branching mechanisms are, in the latter scenario?

Forgive me if this indicates my ignorance regarding Git — the motivation for this question is that, generally, when I branch, I don't seem to reap much benefit out of it — but I do tend to forget what branch Im in at times, and this makes syncing code with HEAD somewhat difficult.

Upvotes: 0

Views: 507

Answers (4)

Adam Dymitruk
Adam Dymitruk

Reputation: 129526

We use gitolite with this workflow. It allows a very disciplined way to work:

https://plus.google.com/109096274754593704906/posts/R4qkeyRadLR

Upvotes: 0

Lazy Badger
Lazy Badger

Reputation: 97270

what the advantages of git's branching mechanisms are, in the latter scenario ?

"Errare humanum est". Feature-per-branch protect every developer from own errors and all team - from using unfinished or semi-broken features.

Upvotes: 0

milan
milan

Reputation: 12402

The concept of branching is primarily used to allow multiple parallel versions of development to exists, and is not necessarily there to allow more than one developer to work on the code. As a matter of fact, branching makes sense even on a project with only one developer (say you maintain a working not-so-stable line of development, and v.1.0 which is stable and accepts only bugfixes).

Upvotes: 0

Martin Geisler
Martin Geisler

Reputation: 73748

I don't see how branches relate to trust. That's not their primary purpose: they are a tool for organizing changes and the flow of work into a repository. Also, branching in Git can be scaled up and down: it can work in big open source projects, and in smaller, more controlled environments.

I'll say that the advantage of branches (in general) is that they allow you to organize your work well. You can have a feature branch that can be reviewed separately, you can have a stabilization branch for the next release, etc.

Upvotes: 1

Related Questions