github.com/x-oss-byte/git-lfs@v2.5.2+incompatible/docs/man/git-lfs.1.ronn (about)

     1  git-lfs(1) -- Work with large files in Git repositories
     2  =======================================================
     3  
     4  ## SYNOPSIS
     5  
     6  `git lfs` <command> [<args>]
     7  
     8  ## DESCRIPTION
     9  
    10  Git LFS is a system for managing and versioning large files in
    11  association with a Git repository.  Instead of storing the large files
    12  within the Git repository as blobs, Git LFS stores special "pointer
    13  files" in the repository, while storing the actual file contents on a
    14  Git LFS server.  The contents of the large file are downloaded
    15  automatically when needed, for example when a Git branch containing
    16  the large file is checked out.
    17  
    18  Git LFS works by using a "smudge" filter to look up the large file
    19  contents based on the pointer file, and a "clean" filter to create a
    20  new version of the pointer file when the large file's contents change.
    21  It also uses a `pre-push` hook to upload the large file contents to
    22  the Git LFS server whenever a commit containing a new large file
    23  version is about to be pushed to the corresponding Git server.
    24  
    25  ## COMMANDS
    26  
    27  Like Git, Git LFS commands are separated into high level ("porcelain")
    28  commands and low level ("plumbing") commands.
    29  
    30  ### High level commands (porcelain)
    31  
    32  * git-lfs-env(1):
    33      Display the Git LFS environment.
    34  * git-lfs-checkout(1):
    35      Populate working copy with real content from Git LFS files.
    36  * git-lfs-clone(1):
    37      Efficiently clone a Git LFS-enabled repository.
    38  * git-lfs-fetch(1):
    39      Download Git LFS files from a remote.
    40  * git-lfs-fsck(1):
    41      Check Git LFS files for consistency.
    42  * git-lfs-install(1):
    43      Install Git LFS configuration.
    44  * git-lfs-lock(1):
    45      Set a file as "locked" on the Git LFS server.
    46  * git-lfs-locks(1):
    47      List currently "locked" files from the Git LFS server.
    48  * git-lfs-logs(1):
    49      Show errors from the Git LFS command.
    50  * git-lfs-ls-files(1):
    51      Show information about Git LFS files in the index and working tree.
    52  * git-lfs-migrate(1):
    53      Migrate history to or from Git LFS
    54  * git-lfs-prune(1):
    55      Delete old Git LFS files from local storage
    56  * git-lfs-pull(1):
    57      Fetch Git LFS changes from the remote & checkout any required working tree
    58      files.
    59  * git-lfs-push(1):
    60      Push queued large files to the Git LFS endpoint.
    61  * git-lfs-status(1):
    62      Show the status of Git LFS files in the working tree.
    63  * git-lfs-track(1):
    64      View or add Git LFS paths to Git attributes.
    65  * git-lfs-uninstall(1):
    66      Uninstall Git LFS by removing hooks and smudge/clean filter configuration.
    67  * git-lfs-unlock(1):
    68      Remove "locked" setting for a file on the Git LFS server.
    69  * git-lfs-untrack(1):
    70      Remove Git LFS paths from Git Attributes.
    71  * git-lfs-update(1):
    72      Update Git hooks for the current Git repository.
    73  * git-lfs-version(1):
    74      Report the version number.
    75  
    76  ### Low level commands (plumbing)
    77  
    78  * git-lfs-clean(1):
    79      Git clean filter that converts large files to pointers.
    80  * git-lfs-pointer(1):
    81      Build and compare pointers.
    82  * git-lfs-pre-push(1):
    83      Git pre-push hook implementation.
    84  * git-lfs-filter-process(1):
    85      Git process filter that converts between large files and pointers.
    86  * git-lfs-smudge(1):
    87      Git smudge filter that converts pointer in blobs to the actual content.
    88  
    89  ## EXAMPLES
    90  
    91  To get started with Git LFS, the following commands can be used.
    92  
    93   1. Setup Git LFS on your system. You only have to do this once per
    94      repository per machine:
    95  
    96          git lfs install
    97  
    98   2. Choose the type of files you want to track, for examples all `ISO`
    99      images, with git-lfs-track(1):
   100  
   101          git lfs track "*.iso"
   102  
   103   3. The above stores this information in gitattributes(5) files, so
   104      that file need to be added to the repository:
   105  
   106          git add .gitattributes
   107  
   108   3. Commit, push and work with the files normally:
   109  
   110          git add file.iso
   111          git commit -m "Add disk image"
   112          git push