Git Cloud Large File Storage
Git LFS for large files that need cloud storage.
Setup
AWS S3
- Install AWS CLI.
- Create an S3 bucket and AWS access keys.
- Put the access keys in
~/.aws/credentialsas described here. Note, the profile used by gclfs isgclfs. This can be overridden ingclfs.config. See example below. - Add bucket name to
gclfs.config.
Example credentials file:
# ~/.aws/credentials
[default]
aws_access_key_id=AKIAASSFODNN7EXAMPLE
aws_secret_access_key=wJalrP0dnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
[gclfs]
aws_access_key_id=BTIAIOSFODNN7EXAMPLE
aws_secret_access_key=xyalrXUghdEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Example config file with overridden profile name:
# gclfs.config
[s3]
bucket=my-awesome-bucket
profile=default
Usage
Tracking
To track files with a specific extension that will be uploaded to cloud storage, run gcl track *.<file_extension>
For example, to track wav files:
gcl track "*.wav"
This adds the extension to .gitattributes. When pushing to remote repo, this will sync all wav files to S3.
Important: To keep the large files from getting committed to the git repo, you still have to add them to
.gitignore.
Commands
Your normal git commands work here and a remote git repo should be setup as usual
(with git init and git remote add, etc.).
Example
gcl init (initialize repo)
gcl track "*.wav" (track wav files)
gcl add . (add files to commit)
gcl status (get repo status)
gcl commit -m "init commit" (commit changes)
gcl remote add origin git@github.com:me/my-awesome-project (add remote repo)
gcl push (push git repo and sync files with cloud)
gcl fetch (fetch changes)
gcl pull (pull remote changes and sync files with cloud)
Limitations
Currently, only AWS S3 is supported.
License
See the LICENSE file for license rights and limitations (MIT).
Metadata
Release files for gclfs 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gclfs-0.1.1.tar.gz | 5.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gclfs-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.9 kB
Release files / gclfs-0.1.1.tar.gz
| Download URL | gclfs-0.1.1.tar.gz |
|---|---|
| Size | 5.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c3eb8f0657e1a3b656fc35df3378b4e37528675e90d938162fb66ffd147cf403
|
|
BLAKE2b-256 checksum How to use checksums |
60a99546e6cbce5f3e8665a8580dad8a7b5f026b54238a078ee34733b445b189
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.6
|
Release files / gclfs-0.1.1-py3-none-any.whl
| Download URL | gclfs-0.1.1-py3-none-any.whl |
|---|---|
| Size | 7.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
20e0b5ecc24483fdbb31de427fe703207c43df1279ef0af4a5fe8a6f2984ba10
|
|
BLAKE2b-256 checksum How to use checksums |
5e3582252c0806ac30398dfd6b1b446d907180d4f79cce48366488d80d2ba515
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.6
|