As discussed in response to the question raised in issue #6132, at
present Git's implementation of the long-running filter protocol is such
that for each file whose contents are "smudged" by a process like the
"git lfs filter-process" command, Git reads the output into an in-memory
buffer:
As a result, Git's memory usage scales with the size of the largest
Git LFS file when a "git clone" command is run, unless the Git LFS client
is configured not to "smudge" files.
To help users who may have questions about this behaviour in the future,
we add a section to our FAQ manual page which explains the current
situation and how it may be ameliorated by avoiding the "smudge" filter
step during cloning and using the "git lfs pull" command instead to
populate a working tree with Git LFS files.