- date
- 2026-05-12 23:16:34
git-crypt
前言
之前使用 Obsidan 进行笔记备份,当时开了一年的同步,然后前些天发现同步的时候一直提示密码错误,发现是到期了。
目前在使用 github private repo + vscode + typora ,但是有一个问题就是感觉还是有点不安全,所有找到了 git-crypt。
项目地址:https://github.com/AGWA/git-crypt
安装
| sudo dnf install git-crypt -y
|
使用
初始化:
配置加密规则,仓库根目录创建 .gitattributes 文件:
| *.md filter=git-crypt diff=git-crypt
*.png filter=git-crypt diff=git-crypt
*.jpg filter=git-crypt diff=git-crypt
*.excalidraw filter=git-crypt diff=git-crypt
*.txt filter=git-crypt diff=git-crypt
*.pdf filter=git-crypt diff=git-crypt
*.json filter=git-crypt diff=git-crypt
.gitattributes !filter !diff
README.md !filter !diff
|
使用 GPG 模式
| gpg -K | grep "uid"
git-crypt add-gpg-user llianpo@llp.local
|

会创建一个 .git-crypt/keys/default/0/....gpg 这个不能忽略,必须要推送到 github ,加密解密就是依据这个的。
然后推送测试,推送的时候会自动的加密:
| git rm -r --cached .
git add .
git commit -m "Re-apply git-crypt"
git push
|
看一下 Github 已经看到加密成功了,当然 Github 以前的 commit 还是明文的,只影响了本次的 commit。

同时还可以本地加密
| git-crypt lock
git-crypt unlock
|

从 Github 恢复,使用 GPG 时,只需要在电脑导入 GPG,然后直接 git-crypt unlock 就可以了。
| git clone git@github.com:liancccc/my-note.git
cd my-note/
git-crypt unlock
tail coding/git/git-crypt.md
|
