https://github.com/lukks/gcrypt
Encrypted git repositories for privacy made easy
https://github.com/lukks/gcrypt
encrypt gcrypt git remote
Last synced: about 1 year ago
JSON representation
Encrypted git repositories for privacy made easy
- Host: GitHub
- URL: https://github.com/lukks/gcrypt
- Owner: LuKks
- License: mit
- Created: 2020-11-23T07:05:28.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-05-11T13:40:37.000Z (about 5 years ago)
- Last Synced: 2025-04-01T12:50:39.636Z (about 1 year ago)
- Topics: encrypt, gcrypt, git, remote
- Language: Shell
- Homepage:
- Size: 24.4 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gcrypt
Encrypted git repositories for privacy made easy

```sh
# Create a new remote encrypted repository
gcrypt init git@github.com:user/repo.git
# Encrypt repository already on GitHub
gcrypt encrypt git@github.com:user/repo.git
# Clone encrypted repository
gcrypt clone git@github.com:user/repo.git
```
## Requirements
```sh
apt install git-remote-gcrypt
```
## Install
```sh
npm i -g LuKks/gcrypt
```
## Description
Makes easy to work with fully encrypted git repositories.\
It uses [spwhitton/git-remote-gcrypt](https://github.com/spwhitton/git-remote-gcrypt), so check it out.\
The unique disadvantage that I noticed pushing is a bit slow but not big deal.\
Using your GPG key for encryption.
## Examples
#### Create a new encrypted repository
Create an empty repository on GitHub then:
```sh
gcrypt init git@github.com:user/repo.git
# or
gcrypt init git@github.com:user/repo.git ~/Desktop/my-encrypted-repo
```
#### Encrypt repository already on GitHub
```sh
gcrypt encrypt git@github.com:user/repo.git
```
Take caution, it will erase the entire repository (branches, tags, etc),\
just keeping a single commit/branch where would be all encrypted togheter.
#### Clone encrypted repository
```sh
gcrypt clone git@github.com:user/repo.git
# or
gcrypt clone git@github.com:user/repo.git ~/Desktop/my-encrypted-repo
```
## Notes
#### Multiple GPG keys
If you have multiple GPG keys, set which would be used for encryption.
Check your GPG keys list:
```sh
gpg --list-secret-keys --keyid-format LONG
```
And set it:
```sh
git config --global --add gcrypt.participants "A1234B1234C1234D"
```
## Useful links
https://github.com/spwhitton/git-remote-gcrypt/ \
https://www.alwaysrightinstitute.com/gcrypt/ \
https://caolan.uk/articles/encrypted-git-repositories/
## License
Code released under the [MIT License](https://github.com/LuKks/gcrypt/blob/master/LICENSE).