WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have built and maintain many themes for various clients. I'd like to be able to put them all in github for lovely version control. However github gets a bit expensive when you have over 20 private repositories. I'm going to have about 30+. The themes are not used together, each one is for a separate client.

I know I can host my own git install, but then I lose the great diff tools and social aspects of github. It's also nice to have all your code in one place.

So I'm wondering if there is another way to put all themes in one repo and separate them in some intelligent way.

I thought about using gitignore, but then for each clone, you need to reconstruct the correct .gitignore. not workable.

Maybe using branches is the right approach, but I'm unfamiliar with how that would work.

One other aspect, I've been using deployhq.com (a great service) to deploy the changed files via ftp to the servers. And it's working great. And for site still in development I create a git service hook and after each push, the project gets deployed automatically by deployhq - awesome.

Any advice about how to accomplish this via branches, or via any other method?

share|improve this question
I don't think branches would be relevant here. Why don't you just use subfolders? – julien_c Jan 12 '12 at 18:47
Pay those guys some money for their fantastic service. With 30 themes you should be able to do that. – toscho Jan 12 '12 at 19:02
@julien_c, woudn't sub folders have the same problem with .gitignore like I described. wouldn't each new clone download ALL the themes? – dwenaus Jan 12 '12 at 19:15
@toscho, I just send them an email asking for pricing above 20 repos. I'm fine paying for good service and supporting great things like github, but I don't want to be paying $40/month just so I can host lots of tiny low volume repos. I already pay $12 and I'm fine with that. – dwenaus Jan 12 '12 at 19:17
up vote 1 down vote accepted
  1. You have to use branches (git can clone single branch from repo) in case if you'll stick with Github
  2. If you can think about using hosted Git outside Github, you can select Assembla with Git and, f.e, Starter Plan ($9), it which you'll get one (private) space and unlimited independent repos in space
share|improve this answer
there are certainly a lot of alternatives to github: alternativeto.net/software/github I like the look of codebase, assembla is also pretty good. – dwenaus Jan 13 '12 at 5:15
Can you expand a bit on the use of branches, what would be the downsides if any and what would be the workflow. Much appreciated. – dwenaus Jan 14 '12 at 14:09
@dwenaus - The very best git explanation in the world can be found here: atlassian.com/en/git/workflows – leymannx Jun 2 '14 at 14:09

Maybe you should try using git submodules. One for every theme. By that you could also deploy them elsewhere.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.