Easy encrypted git with gcrypt

I’ve been looking at options for keeping personal notes and diary entries stored securely and synced across devices. An encrypted Git repo in Github seems like a good potential option for this.

It turns out this is pretty straightforward to achieve using git-remote-gcrypt. This sets up a Git remote that is encrypted while the local repository is kept in plaintext and used normally.

Check if you have a GPG key already:

gpg --list-secret

Create a GPG key if you don’t already have one:

gpg --gen-key

Then you can add a Github remote for your repo which will be kept encrypted with gcrypt:

git remote add github gcrypt::git@github.com:yourusername/yourrepo.git

Now you can work with Git normally, and whenever you push to or pull from Github, the encryption and decryption will be done for you.

This approach seems pretty straightforward, and adds extra security and privacy to a private Github repo.


Tech mentioned