I suggest to read http://hginit.org.
The first section title is "Subversion Re-education". You can also read the
rest; mercurial and git are very similar.
In Subversion, tags and branhes are really just specially named
directories. In git, they are two different things. It does not take long
to fall in love with them as they work better than in Subversion. (ie: they
do not change the repository revision number just because you create a tag
or a branch)
To begin with git, start with a very simple workflow. The book git-pro
gives very good starting points. In my team (2 to 5 developers), we are
still using a single branch during development (named dev) who exist only
on the developer PC and we rebase it on the tip of master before pushing
the commits on the server. That way, the history is made of a single line.
We are pulling every day to reduce the risk of conflicts during the pull
and we push as soon the code is stable. If you work directly on the master
branch, you will get parallel lines each time you do a pull. It is not a
problem per-see, but you may find it ugly and confusing at first.
For the release, we use tags like "vX.Y.Z". If we have to fix something in
a specific version, we create a branch named "bX.Y". We use a different
name to avoid confusion. If you choose to use feature branches, give them
meaningful name. I suggest to look at the git history itself to see one
example of heavily branched development
On Thursday, July 19, 2012 12:14:17 AM UTC-4, PeterSteele wrote:
> We're starting a new project and will be using git for our source code
> management system. We're all previous SVN users and have not used git
> before. I'm sure this question has been asked many times before and I
> apologize for asking it again: What is the convention for setting up a new
> project in git? In SVN, the convention is to call the main branch "trunk"
> and branches are created under a directory called "branches" (e.g.
> branches/1.0 for the first release branch). There is also a "tags"
> directory used for labeling key snapshots of the trunk (or even release
> branches), without actually creating a branch.
> From what I've read, it appears that the convention is to call the main
> trunk "master". Is this correct? What's the convention for release branches
> and tags? Are there any other git specific repository conventions that we
> should follow?
You received this message because you are subscribed to the Google Groups "Git
for human beings" group.
To view this discussion on the web visit
To post to this group, send email to email@example.com.
To unsubscribe from this group, send email to
For more options, visit this group at