git-annex allows managing files with Git, without checking the file contents into Git. While that may seem paradoxical, it is useful when dealing with files larger than Git can currently easily handle, whether due to limitations in memory, time, or disk space.
Git-annex is an alternative to git-lfs; both systems work by replacing the files that are to be managed by, but not stored in, Git with "link" files. Git then manages the link file instead of the actual data. The actual data for each commit must be stored independently somewhere. The interesting choices here are the "somewhere", how and when the versioned-outside-Git files are synchronized, and how the system itself (git-annex or git-lfs) comes up with names for each versioned file.
The host site for git-annex is https://git-annex.branchable.com/