mirror of
https://github.com/sobolevn/git-secret
synced 2024-10-31 21:20:29 +00:00
2.6 KiB
2.6 KiB
layout | title | date | permalink | categories |
---|---|---|---|---|
post | git-secret | 2017-02-26 18:27:18 +0300 | git-secret | usage |
Usage
These steps cover the basic process of using git-secret
:
- Before starting, make sure you have created
gpg
RSA key-pair: public and secret key identified by your email address. - Initialize
git-secret
repository by runninggit secret init
command..gitsecret/
folder will be created, note that.gitsecret/
folder should not be ignored. - Add first user to the system by running
git secret tell your@gpg.email
. - Now it's time to add files you wish to encrypt inside the
git-secret
repository. It can be done by runninggit secret add <filenames...>
command. Make sure these files are ignored, otherwisegit-secret
won't allow you to add them, as these files will be stored unencrypted. - When done, run
git secret hide
all files, which you have added bygit secret add
command will be encrypted with added public-keys by thegit secret tell
command. Now it is safe to commit your changes. But. It's recommended to addgit secret hide
command to yourpre-commit
hook, so you won't miss any changes. - Now decrypt files with
git secret reveal
command. It will ask you for your password. And you're done!
I want to add someone to the repository
- Get their
gpg
public-key. You won't need their secret key. - Import this key inside your
gpg
by runninggpg --import KEY_NAME
- Now add this person to the
git-secret
by runninggit secret tell persons@email.id
- Reencypt the files, now they will be able to decrypt them with their secret key.
Note, that it is possible to add yourself to the system without decrypting existing files. It will be possible to decrypt them after reencrypting them with the new keyring. So, if you don't want unexpected keys added, make sure to configure some server-side security policy with the pre-receive
hook.
Configuration
You can configure several things to suit your workflow better. To do so, just set the required variable to the value you need. This can be done in your shell environment file or with the each git-secret
command.
These settings are available to be changed:
$SECRETS_GPG_COMMAND
- sets thegpg
alternatives, defaults togpg
. It can be changed togpg
,gpg2
,pgp
,/usr/local/gpg
or any other value. After doing so rerun tests to be sure, that it won't break anything. Tested to be working with:gpg
,gpg2
.$SECRETS_EXTENSION
- sets the secret files extension, defaults to.secret
. It can be changed to any valid file extension.