# git-lfs-smudge(1)

## NAME

git-lfs-smudge - Git smudge filter that converts pointer in blobs to the actual content

## SYNOPSIS

`git lfs smudge` [<path>]
`git lfs smudge` --skip [<path>]

## DESCRIPTION

Read a Git LFS pointer file from standard input and write the contents of the corresponding large file to standard output. If needed, download the file’s contents from the Git LFS endpoint. The argument, if provided, is only used for a progress bar.

Smudge is typically run by Git’s smudge filter, configured by the repository’s Git attributes.

In your Git configuration or in a `.lfsconfig` file, you may set either or both of `lfs.fetchinclude` and `lfs.fetchexclude` to comma-separated lists of paths. If `lfs.fetchinclude` is defined, Git LFS pointer files will only be replaced with the contents of the corresponding Git LFS object file if their path matches one in that list, and if `lfs.fetchexclude` is defined, Git LFS pointer files will only be replaced with the contents of the corresponding Git LFS object file if their path does not match one in that list. Paths are matched using wildcard matching as per gitignore(5). Git LFS pointer files that are not replaced with the contents of their corresponding object files are simply copied to standard output without change.

## OPTIONS

Without any options, `git lfs smudge` outputs the raw Git LFS content to standard output.

`--skip`

  Skip automatic downloading of objects on clone or pull.

`GIT_LFS_SKIP_SMUDGE`

  Disables the smudging process. For more, see: git-lfs-config(5).

## KNOWN BUGS

On Windows, Git before 2.34.0 does not handle files in the working tree larger than 4 gigabytes. Newer versions of Git, as well as Unix versions, are unaffected.

## SEE ALSO

git-lfs-install(1), gitattributes(5), gitignore(5).

Part of the git-lfs(1) suite.