Git-submodule and Git-lfs

Git-submodule

… allows you to include one repository inside another, keeping them as separate projects.

  • Add a submodule to your repo
    $ git submodule add {repo-url} {path}
  • Update the submodules in your repo
    $ git submodule update --init --recursive
  • Remove a submodule from your repo
    $ git submodule rm {path}

Git-lfs

… allows you to store pointers to large binary files that are kept in a remote storage.

  • Add a file pointer to your repo
    $ git lfs track {path}
  • Update the file pointers in your repo
    $ git lfs pull
  • Remove a file pointer from your repo
    $ git lfs untrack {path}