| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Git is an awesome tool for versioning and storing your textual files but it can fall short when you're looking to use it to store large (binary) files. git-bits is an extension that builds on top of Git that solves this problem in a simple and secure fashion through clever usage of Content Based Chunking (CBC), Content-Addressable Storage (CAS) and convergent encryption. It written in pure and portable Go code and is structured as a set of streaming commands that follow the unix philosopy.
Features:
First, make sure Git itself is installed and available in your PATH
Then, Choose one of you preferred installation methods for installing the git-bits extension:
Pre-compiled binaries are available for 64bit Windows,MacOS and Linux on the release page, simply download the binary for your platform and place it in your PATH.
building from source is recommended for other platforms. Simply install the Go SDK (Go 1.24 or later). Then run the following to install or update:
go install github.com/nerdalize/git-bits@latest
For development:
git clone https://github.com/nerdalize/git-bits
cd git-bits
make buildVerify that the installation succeeded by envoking the Git with the git-bits extension, it should show the git-bits subcommands. If it complains with "... is not a git command", make sure the above steps were executed correctly.
git bits
git-bits is build on top of Git, this guide assumes you have basic knowledge of working with a Git repository. Also, large file chunks are stored directly on AWS S3, as such you'll need a AWS account with an S3 bucket and a access_key_id and the secret_access_key to allow git-bits to put, get and list bucket objects. The bucket needs to be completely reserved for git-bits file chunks.
Note: For Windows, the documentation assumes you're using Git through a bash-like CLI but nothing about the implementation prevents you from using another approach.
cd ~/my-project git bits install
NOTE: If your git repository doesn't have any commits, a seemingly 'fatal' error appears, you can safely ignore this
Provide your AWS information when asked and git-bits will configure a pre-push hook and the correct Git filter.
The 'bits' filter requires you mark certain files for large-file storage using the .gitattributes file, the following marks all files ending with .bin for storage using git-bits:
echo '*.bin filter=bits' >> .gitattributes
git add ./my-large-file.bin git commit -m "added a large file"
git push
For development and testing, you can use LocalStack to emulate S3 locally:
Start LocalStack:
make localstack-upRun tests:
make docker-testView testing logs :
make docker-logsStop LocalStack:
make localstack-downAvailable LocalStack commands:
Updated Dependencies (2024):
Development Features:
| Back | FazBrowse Home | New Git URL |