Tutorial :What is the best way to organize multiple projects when using git



Question:

I have 5-10 independent projects that I want place under version control using Git. What is the best way to organize the projects/respositories:

  • Use one repository for each project
  • use one repository for all my work and use subdirectories for each project
  • Or something completely different

What has worked best for you and why?


Solution:1

I'd definitely say use one repository for each project. Otherwise you're going to have all sort of crosstalk between projects, not to mention it's a pain to specify long paths if you're using command line git. Git works great with the one repository per project model, I can't really see any reason to use anything else; I don't think I ever really understood why SVN promoted working that way.


Solution:2

To complete Marc's answer, going with one central repository (with all the projects inside) does not prevent multiple repositories, each with their own project.

Let's hear it from Linus himself:

There are no real issues either way, and perhaps more importantly, it's not even something you have to decide on day one.

You can easily do it one way or the other, and either

  • switch around as needed
  • or even mix the two approaches where it makes sense.

For example, it may be entirely sensible to have the common "distribution points" use a single shared repository that contains all modules as separate branches within the same repository.

But even though such a central distribution point repository is set up that way, individual developers may well decide that they are happier having separate repositories for different modules. The two approaches are not mutually incompatible, and you can fetch data and push it back out between both different kinds of repositories.


Solution:3

If the repository is corrupted.It effects all project teams.So repo for each project is good idea.


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »