距离上次更新本文已经过去了 731 天,文章部分内容可能已经过时,请注意甄别

如果你想在 gitea 上面加密存储一些数据(比如个人的密码)之类私密的东西,可以尝试用 git-crypt 加密文件后再上传

比如有些老哥担心 git 托管服务商会偷看自己的文件,额…… 咱也不能完全否认这可能性吧

如何使用

以下演示的只有 windows 系统能用

1. 安装

oholovko/git-crypt-windows

在上面的项目中下载 exe 文件,放入你电脑 git 安装路径的 git/cmd 目录中,即可使用

在电脑的任意位置使用 git 的命令行输入 git-crypt 确认正确安装

2. 使用

在需要加密的仓库中输入以下命令

plaintext
1
git-crypt init

然后输入 status 命令查看状态

plaintext
1
2
3
4
PS D:\Program Files\nas\MyPWD> git-crypt status
not encrypted: .gitignore
not encrypted: README.md
PS D:\Program Files\nas\MyPWD>

添加.gitattributes 文件,键入以下格式的内容

plaintext
1
需要加密的文件路径或者文件名 filter=git-crypt diff=git-crypt

此时先将需要加密的文件移出本仓库,commit 上传.gitattributes 文件,再将需要加密的文件移动回来

此时再查看状态,会发现已经加密了

plaintext
1
2
3
4
5
6
PS D:\Program Files\nas\MyPWD> git-crypt status
not encrypted: .gitattributes
not encrypted: .gitignore
encrypted: PWD/napd.md
not encrypted: README.md
PS D:\Program Files\nas\MyPWD>

此时再使用 git 三板斧,此时被添加到远端的文件就已经是加密过后的了

3. 解密

使用下面的命令导出密钥

plaintext
1
git-crypt export-key 文件key的名字

因为是个人使用,为了避免以后无法打开此文件,应在多处存放此 key(但是不要存云盘里面)

只有同时获得仓库文件+key 才能解密出此项目中的内容!

当然,最初的本地项目也是明文的

使用 key 解密仓库文件,即可看到明文内容

plaintext
1
git-crypt unlock /path/to/key