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

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

如何使用

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

1.安装

oholovko/git-crypt-windows

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

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

2.使用

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

1
git-crypt init

然后输入status命令查看状态

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文件,键入以下格式的内容

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

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

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

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.解密

使用下面的命令导出密钥

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

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

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

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

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

1
git-crypt unlock /path/to/key