git-crypt provides transparent encryption and decryption of selected files inside Git repositories. It is designed for projects where most content can be shared normally, but certain files contain information that should only be accessible to authorised collaborators.
The software uses Git filters to encrypt protected files when they are committed and decrypt them in an authorised working copy. Once configured, users can continue performing ordinary Git operations without manually encrypting and decrypting files.
git-crypt is not intended to encrypt an entire repository. Filenames, commit messages and other metadata remain visible, and previously authorised users cannot be prevented from accessing historical content for which they already hold the necessary keys.
This is free and open source software.
Key Features
- Transparent encryption and decryption of selected files using Git filters.
- Specify encrypted paths and filename patterns through .gitattributes.
- AES-256 encryption using a synthetic initialisation vector derived from an HMAC.
- Support for sharing encrypted content with collaborators through GnuPG keys.
- Alternative symmetric-key mode without requiring GnuPG.
- Export repository encryption keys for secure transfer to authorised users.
- Unlock encrypted content in authorised working copies.
- Allow users without keys to clone repositories containing encrypted files.
- Multiple encryption keys within a repository for different groups of files or users.
- Inspect which files are encrypted or unencrypted using git-crypt status.
- Detect files that should have been encrypted but were added without protection.
- Deterministic encryption so Git can recognise unchanged protected content.
- Preserve ordinary Git workflows for unencrypted files in the same repository.
- Integrate with Git-based development workflows without requiring a separate encryption server.
Website: www.agwa.name/projects/git-crypt
Support:
Developer: Andrew Ayer and contributors
License: GNU General Public License v3.0
git-crypt is written in C++. Learn C++ with our recommended free books and free tutorials.
Related Software
| Git Storage and Security Tools | |
|---|---|
| git-lfs | Git extension for versioning large files |
| Jujutsu | Powerful version control system for software projects |
| git-bug | Distributed offline-first bug tracker |
| Dash | Rich terminal UI for GitHub |
| git-secrets | Prevent adding secrets into git repositories |
| Commitizen | Create well-structured Git commit messages |
| git-repair | Repair various forms of damage to git repositories |
| git-secret | Bash tool which stores private data inside a git repo |
| git-annex | Manage files with git without checking the file contents into git |
| gitmoji-cli | Use gitmojis in Git commit messages |
| ghq | Organise local clones of remote repositories |
| git-crypt | Transparent file encryption in git |
| gita | Manage multiple git repos |
| git-chglog | CHANGELOG generator implemented in Go |
| cz-git | Commitizen adapter and command-line tool |
| gitpane | Multi-repo Git workspace dashboard |
| git-trim | Keep Git working directories clear of stale local branches |
| gfold | Keep track of multiple Git repositories |
| Garden | Command runner and multi-repo Git configuration tool |
| mani | Manage collections of Git repositories |
| GitSocial | Git-native cross-forge collaboration |
| git-fresh | Refresh Git working copies from the terminal |
| Forge Sparks | Get Git forges notifications |
| gohome | Git standup and activity reporting CLI |
| git-appraise | Distributed code review system for Git repositories |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.