如何强制重新解密本地转加密对象?

mhi*_*den 4 git encryption

Transcrypt 在远程 git 更改上触发,从源提取文件的最新加密版本并在本地解密。

我弄乱了本地密钥,因此解密失败,但加密的转加密相关文件的最新 git 版本仍然存在于我的本地计算机上。

我意识到我的错误并修复了我的本地转加密加密密钥。

现在,Git 认为这些文件是最新版本(与远程源相比),但它们是加密的。Git 和 transcrypt 处于先有鸡还是先有蛋的情况:我无法强制 git 从远程源重新拉取文件,也无法让 transcrypt 重试解密。

我尝试过切换分支,有时确实有效。这并不总是有效,因为与转加密相关的文件在远程分支上不一定不同。我能够将当前分支克隆到新分支中,修改每个加密文件,然后在本地拉取该新分支。这让 Transcrypt 松动了,并且成功了。必须有一种更优雅的方法来做到这一点!

我需要运行什么命令(git 和/或 transcrypt)才能再次解密我的本地文件?

mhi*_*den 5

好吧,我终于明白了:

transcrypt -d  # (dumps current transcrypt configuration, including key)
transcrypt -f  # (flushes transcrypt credentials and encrypts local files)
Run Code Online (Sandbox Code Playgroud)

然后粘贴 transcrypt 配置行(从上面的 transcrypt -d 转储)以重新初始化设置并解密本地文件。

这个过程大约需要30秒;比远程分支方法快得多。