On Wednesday, August 1, 2012 5:26:59 PM UTC+2, Dan Luciano wrote:
> I am new to Git.  I have used Perforce and SourceSafe in the past.  My 
> question is about managing multiple projects using Git.  For example, we 
> have all of our projects in a main folder.  This main folder has 
> sub-folders for each project such as endorsements, rating, business 
> objects, etc.  Is it best to create a repository for the main folder, or 
> should a repository be created for each sub-folder?  What is the "best 
> practice" that others use?  

My rule of thumb is that if the code shares the same release cycle (meaning 
that it is changed, deployed, tagged, etc), it should be in the same 
repository. You should be able to *ship* out of a single repository. 

Let's say you ship the software twice a year. During a release (or a 
build), you compile and build together *each* sub-folder inside main to a 
separate deployable artifact (exe, war, rpm or whatever bundle you ship). 
If this is the case, they share version number, in other words: tags, and 
should therefore remain in one repository, so you only have to tag one 
place. However, if one sub-folder is shipped once every two years, while 
another is shipped every month, this speaks for keeping them in separate 

Another factor is whether the sub-folders *share code*. If so, this speaks 
towards keeping them in a common repository. If they are completely 
isolated from another, that tends towards having separate artifacts.

There are probably more factors you could think of, and there is no 
definite answer. It's a balance which is very context-specific, so you have 
to figure out the right path for your project.

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 git-users@googlegroups.com.
To unsubscribe from this group, send email to 
For more options, visit this group at 

Reply via email to