Skip to content
yaggui docsNext (unreleased)

Git LFS

Git LFS stores large files outside the repository and versions only a small pointer file in their place (see git-lfs.com). yaggui detects LFS, marks the files it stores, and runs git lfs pull and git lfs track from the command palette.

When you open a repository, yaggui:

  • runs git lfs version to know whether Git LFS is installed;
  • reads the patterns marked filter=lfs in the root .gitattributes file;
  • considers that the repository uses LFS when an attributes file mentions it.

Nothing else is configured: yaggui uses your own Git LFS installation.

If the repository uses LFS and Git LFS is not installed, yaggui shows a warning once per repository and session:

Git LFS is not installed This repository stores large files with Git LFS: without it, they stay as small pointer files. Install Git LFS (git-lfs.com), then run git lfs install.

The warning does not block anything. The same text appears under the diff of LFS files and in the Track files with Git LFS dialog, whose Track button stays disabled. Install Git LFS from git-lfs.com, run git lfs install once, then reopen the repository.

Files matching an LFS pattern carry an LFS chip (tooltip Stored with Git LFS) in the changes panel and in the file lists of commits and stashes.

yaggui does not show a text diff for an LFS pointer. Instead, the diff shows File stored with Git LFS with each side’s size and object ID (or local content for the file in your working folder), and the line Only a pointer is versioned: no text diff. Line counts are not computed for LFS files, and LFS files cannot be edited in the diff. See Diff.

Run Git LFS: download the files (pull) from the command palette. yaggui runs:

Terminal window
git lfs pull

The status bar shows the operation as Git LFS with its progress; you can cancel it there. yaggui then shows LFS files downloaded.

  1. Run Git LFS: track a pattern… from the command palette.
  2. The Track files with Git LFS dialog lists the patterns Already tracked (or No pattern yet).
  3. Type a Pattern, for example *.psd or assets/**/*.png. The dialog shows the command it will run.
  4. Click Track.

yaggui runs git lfs track -- <pattern> and shows “<pattern> is now stored with LFS”. Git LFS writes the pattern to .gitattributes, which stays unstaged: commit it so that the files matching the pattern are stored with LFS from their next commit.

The pattern must be a single line that does not start with -. Otherwise yaggui shows “<pattern> is not a file pattern (e.g. *.psd).”

Tracking a pattern is undoable (“LFS tracking of <pattern>”): undo restores the previous .gitattributes. See Undo and redo.

There are no LFS buttons or menus outside the palette, and the two LFS actions have no default shortcut (you can assign one in Preferences). Other LFS commands, such as git lfs untrack, git lfs migrate or locks, are for the terminal.