Search code examples
gitversion-controlmercurialphotoshopadobe-illustrator

Does it make sense to use source control to manage graphics files (e.g. PSDs & AI files)


Of course source control tools like Git, (Mercurial, SVN, etc...) can do a great job at managing source code. But I wonder, do these tools provide the developer with any advantage when used to store copies of files such as PhotoShop PSDs and Illustrator AI files? Does it make sense to use these tools with these kind of files? Would I be storing less in the repository than the sum of the file sizes of all of these files? Even though the file format of these files is only machine readable, I would expect that in for such applications, especially when dealing with vector rather than raster graphics, a small part of these files would change, and much of the rest would remain the same.

Thank you for your insight.


Solution

  • Although this is very opinionated issue, I would say no — at least for git.

    • Git was not created as a storage solution.
    • There's no way to merge image files.
    • Therefore, branches don't make sense — if the only way to merge these branches together is to choose which version is correct, you're better of replacing the file right away.
    • Git GUI tools are inferior to console, and are not simple. Do you want to teach your art team what the difference between commit and push is?
    • When you checkout git repo, you checkout the whole history of all files, starting from initial commit. If you work on binary files long enough, the size will get enormous.
    • Many git hosting sites, such as github, have limits on individual file sizes.

    I think that you're much better off with dropbox.