Can Git be used to store and archive snapshots of moddable game versions that are part of a client like Steam or UPlay?

I recently had this idea because a game updated tonight (by accident) and broke my mod setup.

I was wondering if I could store local snapshots of the game folder with Git or if UPlay's DRM would make that impossible.

  • I mean, it's a yes or no question. Does DRM prevent Git from tracking game files cleanly and safely? The question may have three sentences, but each one builds upon the last. Note to self: Shift-Enter The first sentence is an introduction, the second explains why, the third is the actual question. It's pretty specific. But people tend to hate the way I write things. Commented Mar 7, 2019 at 19:18
  • It sounds possible, but it may not be legal. That may be the more important question, depending if you're looking to keep this Git account or not. While users have some rights to digital backups of physical media IDK about digital media backups. Also would be worth looking into the legality of the redistributables (DirectX, .NET, etc) as those will not be owned by the same company in most cases, and could easily be the cause of a C&D/content removed/etc.
    – l3l_aze
    Commented Apr 25, 2019 at 3:09

1 Answer 1


It's definitely possible, but don't just put your entire game folder under version control. Some advice:

  1. Git is not optimized for storing non-text files. It cannot calculate diffs for them and has to store full copies instead. So your repo will continue to grow significantly if you for example try to save bunch of textures there. Imagine having multiple copies of the same game on disk - effect will be like this.

  2. Sometimes games modify some files during run - some logs, configurations, saves. Don't version control them, otherwise you would have to commit these changes after each session.

As an alternative you can store you mod folders separataly from the game itself and provide symbolic link from game folder to actual mod folder. Switching mods will be as easy as updating one link.

Not the answer you're looking for? Browse other questions tagged .