Using Git for Design File Storage

Kelly Dern
2 min readNov 21, 2016

--

I work on a remote product team at Life.io, which makes file storage (especially version control, extremely important). Using Git has been a lifesaver for Design file storage, especially if you need to keep track of version control, reference assets or share with coworkers. The only downside is that Sketch files or PSDs can be huge, and well above the Git’s storage limit.

If you come across this issue there is a way to set up new repository with Git LFS, which is a way to manage large files. There is a lot of documentation out there of how to set up Git LFS, but there are a few missing steps. Below are the steps to create a new repository and track for design files so that you can store files larger than 100 mb.

Why Git works for Design File Management

  1. Double backup of your design files. We use Dropbox and Git so if something goes missing, we can either recover the file in Dropbox or go back to a previous version of Git.
  2. Where is that file??? Managing hundreds of assets works amazingly with Github. You can share a direct link to a file or reference a folder.
  3. Version control. We can manage who made changes to a file through pull requests. No more guesswork on who made what change.

Before you do anything, make a backup of your design files just in case :)

  • Create a new repository.
  • Follow the steps for setting up Git LFS
$ git lfs
$ git lfs install
  • List out all of the types of files you anticipate you will need to track. Sketch, Illustrator and Photoshop files can be huge. I would also recommend listing any prototyping software files.
git lfs track “*.psd”
git lfs track “*.sketch”
git lfs track “*.ai”
  • Make sure that .gitattributes is tracked.
git add .gitattributes
  • Now you’re ready to push up your changes. First initialize GIT LFS with $ git lfs
  • Commit and push your changesgit add file.psd git commit -m "Add design file"
  • The magic step is to push up your changes using the below.
GIT_TRACE=1 GIT_CURL_VERBOSE=1 git push -u origin master
  • That’s it! Have fun!

--

--

Kelly Dern

Senior Video UX Designer @Google / Advisor / Public Speaker, interested in chronic health tech, occasional illustrator