Git Clients

git-crypt – transparent file encryption in git

git-crypt enables transparent encryption and decryption of files in a git repository.

Files which you choose to protect are encrypted when committed, and decrypted when checked out. git-crypt lets you freely share a repository containing a mix of public and private content.

git-crypt gracefully degrades, so developers without the secret key can still clone and commit to a repository with encrypted files. This lets you store your secret material (such as keys or passwords) in the same repository as your code, without requiring you to lock down your entire repository.

git-crypt relies on git filters, which were not designed with encryption in mind.

Key Features

  • GPG mode – share the repository with others (or with yourself) using GPG.
  • Symmetric mode – export a symmetric secret key, which you must securely convey to collaborators (GPG is not required, and no files are added to your repository).
  • Encrypts files using AES-256 in CTR mode with a synthetic IV derived from the SHA-1 HMAC of the file. This mode of operation provides semantic security under deterministic chosen-plaintext attack. That means that although the encryption is deterministic (which is required so git can distinguish when a file has and hasn’t changed), it leaks no information beyond whether two files are identical or not.
  • Temporarily make files to accessible to everyone with the git-crypt unlock command.

Website: www.agwa.name/projects/git-crypt
Support: GitHub Code Repository
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-lfsGit extension for versioning large files
JujutsuPowerful version control system for software projects
git-bugDistributed offline-first bug tracker
DashRich terminal UI for GitHub
git-secretsPrevent adding secrets into git repositories
CommitizenCreate well-structured Git commit messages
git-repairRepair various forms of damage to git repositories
git-secretBash tool which stores private data inside a git repo
git-annexManage files with git without checking the file contents into git
gitmoji-cliUse gitmojis in Git commit messages
ghqOrganise local clones of remote repositories
git-cryptTransparent file encryption in git
gitaManage multiple git repos
git-chglogCHANGELOG generator implemented in Go
cz-gitCommitizen adapter and command-line tool
gitpaneMulti-repo Git workspace dashboard
git-trimKeep Git working directories clear of stale local branches
gfoldKeep track of multiple Git repositories
GardenCommand runner and multi-repo Git configuration tool
maniManage collections of Git repositories
GitSocialGit-native cross-forge collaboration
git-freshRefresh Git working copies from the terminal
Forge SparksGet Git forges notifications
gohomeGit standup and activity reporting CLI
git-appraiseDistributed code review system for Git repositories

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted