We are currently trying to implement a good version control system for our company with 3 Magento web-stores.

These websites will be kept in three separate repositories on local server.

We were previously using Mercurial with the Tortoisehg application, however we found that it was far too slow for our needs.

So I have recently decided to switch to GIT with the GITKraken application. However it is so slow I am struggling to even set it up.

The size of each web-store is around 65,000 files, could that be a problem?

1) What is the best way to Version Control a Magento application?

2) Whats the maximum files you would recommend in one repository, we don't want to be having one application over a number of Repos.

Our workstations has a high end i7 and 16GB RAM and our computers are connected to our local server with 1gbps ethernet so I do not think that our hardware is the issue here.

I found this thread Version control for Magento but that didn't really help me solve the issue of really slow version control application.

  • Is this Magento 1 or 2? Feb 15, 2018 at 21:11
  • Either, I have a store running Magento 1 but also Magento 2 so any advice would be useful.
    – Greg
    Feb 16, 2018 at 9:44

2 Answers 2


Git should easily be able to manage a project of that size. It could sound like you have some files in their that maybe were added by mistake. It could be a large portion of images or other big files that are slowing you down.

You can look at BFG: https://rtyley.github.io/bfg-repo-cleaner/

That can help you cleanup your repo.

If this doesn't solve your issue could you maybe explain in more detail how the VCS seems slow.

  • I was using Tortoisehg application before, the first commit and uploading of the files first time took hours. I thought it's usual as I'm only setting this up so the first commit is huge, but then simple tasks like changing directories or adding new files took very long time, sometimes changing the working directory took 10 minutes... I am just trying to set-up the GitKraken, maybe that will be more officiant
    – Greg
    Feb 15, 2018 at 17:50

I'm also interessted in how other manage there magento shops (guess a lot uses some VCS).

I just use composer/modman ... Magento is installed/updated via https://github.com/OpenMage and all used extesions/template have their own Github/Bitbucket repo that is added to composer.json.

For local development I just clone all repos and add symlinks to my magento installations.

Maybe takes some more time to setup, but it's more flexible then using one big repo for whole store. (media folder isnt version controlled b/c all images are stored locally ... so we have no need to add add them to magento repo)

  • Hymmm... sounds like a good plan. It might a bit longer to prepare but once it's there, it's really flexible. Do you have like a master repo that holds everything or you have to combine all repos each time?
    – Greg
    Feb 16, 2018 at 9:52
  • @BareFeet there is no master repo ... just different composer.json to load the extensions I need.
    – sv3n
    Feb 16, 2018 at 11:18
  • Ahh I see. Do you use any local application to push changes to repos?
    – Greg
    Feb 16, 2018 at 11:25
  • 1
    @BareFeet i've used Sourcetree, but I'd recommened PHPStorm (definitly worth its money).
    – sv3n
    Feb 16, 2018 at 11:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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