"gaga" Because am not good at names and i was listening to lady gaga while coding this.
gaga.mp4
Gaga is a git hook that use openssl
to encrypt & decrypt files you want to version on a public repository but keep it private.
This hook use "basic 256 AES
" symmetric encryption, so you're prompted with a passphrase before a commit or after the pull from remote.
# Clone and install
git clone https://github.com/sanix-darker/gaga
cd gaga
bash ./install.sh # this will just install openssl (and maybe some little requirements)
# Supposing you're working on the repodir
cd gaga
# you copy 'pre-commit' and 'post-receive'
cp {./pre-commit,./post-receive} /path/to/your/repo/.git/hooks/
# you can add files in your /path/to/your/repo/.gitgaga file
# and all those are going to be :
# - git ignore
# - encrypted/decrypted for each commit/pull you do
Now for each commit/pull, you're going to have encrypt/decrypt made on files specified on your /path/to/your/repo/.gitgaga
.
NOTE: you can set a $GAGA_PASSPHRASE
to have it work directly with no prompt asked before commiting/pulling code.
export GAGA_PASSPHRASE=umbrella