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.
Detection
Section titled “Detection”When you open a repository, yaggui:
- runs
git lfs versionto know whether Git LFS is installed; - reads the patterns marked
filter=lfsin the root.gitattributesfile; - considers that the repository uses LFS when an attributes file mentions it.
Nothing else is configured: yaggui uses your own Git LFS installation.
Git LFS not installed
Section titled “Git LFS not installed”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.
The LFS badge
Section titled “The LFS badge”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.
LFS files in the diff
Section titled “LFS files in the diff”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.
Download LFS files (pull)
Section titled “Download LFS files (pull)”Run Git LFS: download the files (pull) from the command palette. yaggui runs:
git lfs pullThe status bar shows the operation as Git LFS with its progress; you can cancel it there. yaggui then shows LFS files downloaded.
Track a pattern with LFS
Section titled “Track a pattern with LFS”- Run Git LFS: track a pattern… from the command palette.
- The Track files with Git LFS dialog lists the patterns Already tracked (or No pattern yet).
- Type a Pattern, for example
*.psdorassets/**/*.png. The dialog shows the command it will run. - 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.
What yaggui does not do
Section titled “What yaggui does not do”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.