git-lfs-track(1) - View or add Git LFS paths to Git attributes
==============================================================

## SYNOPSIS

`git lfs track` [options] [<pattern>...]

## DESCRIPTION

Start tracking the given patterns(s) through Git LFS.  The <pattern> argument
is written to .gitattributes. If no paths are provided, simply list the
currently-tracked paths.

The [gitattributes documentation](https://git-scm.com/docs/gitattributes) states
that patterns use the [gitignore pattern rules](https://git-scm.com/docs/gitignore)
to match paths. This means that patterns which contain asterisk (`*`), question
mark (`?`), and the bracket characters (`[` and `]`) are treated specially; to
disable this behavior and treat them literally instead, use `--filename` or
escape the character with a backslash.

## OPTIONS

* `--verbose` `-v`:
  If enabled, have `git lfs track` log files which it will touch. Disabled by
  default.

* `--dry-run` `-d`:
  If enabled, have `git lfs track` log all actions it would normally take
  (adding entries to .gitattributes, touching files on disk, etc) without
  performing any mutative operations to the disk.

  `git lfs track --dry-run [files]` also implicitly mocks the behavior of
  passing the `--verbose`, and will log in greater detail what it is doing.

  Disabled by default.

* `--filename`
  Treat the arguments as literal filenames, not as patterns. Any special glob
  characters in the filename will be escaped when writing the `.gitattributes`
  file.

* `--lockable` `-l`
  Make the paths 'lockable', meaning they should be locked to edit them, and
  will be made read-only in the working copy when not locked.

* `--not-lockable`
  Remove the lockable flag from the paths so they are no longer read-only unless
  locked.

* `--no-excluded`
  Do not list patterns that are excluded in the output; only list patterns that
  are tracked.

* `--no-modify-attrs`
  Makes matched entries stat-dirty so that Git can re-index files you wish to
  convert to LFS. Does not modify any `.gitattributes` file(s).

## EXAMPLES

* List the patterns that Git LFS is currently tracking:

    `git lfs track`

* Configure Git LFS to track GIF files:

    `git lfs track "*.gif"`

* Configure Git LFS to track PSD files and make them read-only unless locked:

    `git lfs track --lockable "*.psd"`

* Configure Git LFS to track the file named `project [1].psd`:

    `git lfs track --filename "project [1].psd"`

## SEE ALSO

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

Part of the git-lfs(1) suite.
