Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Git Submodule or fork

I have a private repo in github that is the complete source code to my cms. Now I have a few local customers that I want to use the same code base on but with different themes. Is it better to fork the original project out into a repo for each one. Or use a submodule and create a new repo for each customer?

After each site is complete I would imagine the theme files wouldn't change much but would need to pull in changes from the main repo when bugs are discovered.

like image 229
Eric Avatar asked May 24 '10 17:05

Eric


1 Answers

Since there is two set of files involved (the common based, and the theme files), then submodules are appropriate.

Each client would have:

  • a main git repo project
    • one submodule cloning the common code base
    • one submodule with specific files for its theme.

Forking is more a cloning technique able to isolate one version of a repo from its copy.
GitHub implements it with a fork queue to facilite cherry-picking back some changes made in forked Git repo.
But the key thing here is: it concerns the all repository, not just one part.
If several parts are involved, submodules are the right answer.

like image 64
VonC Avatar answered Oct 23 '22 10:10

VonC