mirror of https://git.jolheiser.com/git-age
42 lines
1.7 KiB
Markdown
42 lines
1.7 KiB
Markdown
# git-age
|
|
|
|
This is a Go port of [git-agecrypt](https://github.com/vlaci/git-agecrypt) with some slight modifications.
|
|
|
|
Echoed from the original project:
|
|
|
|
> ## Why should I use this?
|
|
>
|
|
> Short answer: you probably shouldn't. Before considering this approach, take a look at [SOPS](https://github.com/mozilla/sops) and [Hashicorp Vault](https://www.vaultproject.io/) if they are better suited for the problem at hand. **They have a clear security advantage** over `git-age`.
|
|
>
|
|
> The one use-case where it makes sense to use `git-age` instead is when you want to keep some files secret on a (potentially public) git remote, but you need to have the plaintext in the local working tree because you cannot hook into the above tools for your workflow. **Being lazy is not an excuse to use this software.**
|
|
|
|
## Adding git-age to a new repository
|
|
|
|
1. Install `git-age` in your `PATH`
|
|
2. `git age init`
|
|
3. Add some identities
|
|
- `git age ident key.txt`
|
|
- `git age ident ssh`
|
|
4. Set up your config ([example](.git-age.yaml))
|
|
5. Add your secrets to `.gitattributes`
|
|
`secret.txt diff=git-age filter=git-age`
|
|
6. Use git like normal.
|
|
|
|
## Decrypting an existing repository
|
|
|
|
Similar to initial install, adding identities prior to `init` so that any encrypted files are decrypted during initialization.
|
|
|
|
1. Install `git-age` in your `PATH`
|
|
2. Clone the repository
|
|
3. Add some identities
|
|
- `git age ident key.txt`
|
|
- `git age ident ssh`
|
|
4. `git age init`
|
|
5. Use git like normal
|
|
|
|
## License
|
|
|
|
This software was written based off of [git-agecrypt](https://github.com/vlaci/git-agecrypt/tree/945b80556d8848f6e85a8cc0053f9020bdc8b359).
|
|
|
|
[MPL-2.0](LICENSE) ([Original](https://github.com/vlaci/git-agecrypt/blob/945b80556d8848f6e85a8cc0053f9020bdc8b359/LICENSE))
|