Use git-lfs on File Already Committed

Using Git LFS on a file that is already being track without it requires an extra step.

I ran into an issue where I wanted to use Git Large File Storage on a file I had already committed to a repository without using git-lfs.

Let's say my file is some beefy design file that I saved to design/mockups.sketch.

Setup Git LFS

If you haven't already setup your repo to use git-lfs, that's where you should start. Tell Git you want to use LFS to track this file:

$ git lfs track desgin/mockups.sketch

This will place a .gitattributes file in your repo (if you didn't already have one). Commit this file:

$ git add .gitattributes
$ git commit -m "Use lfs on design mockups"

Track Already-Committed File

If you look at what LFS is currently tracking, it doesn't give you any feedback:

$ git lfs ls-files

That's because it's not tracking anything yet.

What we need to do is remove the file from Git's cache, then recommit it:

$ git rm --cached design/mockups.sketch
$ git add design/mockups.sketch
$ git commit -m "Begin tracking mockups with lfs"

And now if we look at what LFS is tracking, we see the file:

$ git lfs ls-files
036310e243 - design/mockups.sketch


Let's Connect

Keep Reading

Backup Gitlab Data and Repositories to Amazon S3

Make sure you don't lose all that precious GitLab data by backing regularly and syncing with an Amazon S3 bucket.

Dec 11, 2014

Safely Force Pushing in Git

If force-pushing is part of your git workflow, here's a tip that can help you avoid disaster.

Jul 22, 2021

Backup Your Code and Develop Cross-Platform Using Git

I recently discovered Git and it changed everything.

Feb 04, 2013