Git 如何强制重新解密本地transcrypt对象?

Git 如何强制重新解密本地transcrypt对象?,git,encryption,Git,Encryption,Transcrypt在远程git更改时触发,从源文件中提取文件的最新加密版本并在本地解密 我搞乱了我的本地密钥,所以解密失败,但加密的transcrypt相关文件的最新git版本仍然存在于我的本地计算机上 我意识到我的错误并修复了我的本地transcrypt加密密钥 现在,Git认为这些文件是最新版本(与远程源文件相比也是),但它们是加密的。Git和transcrypt处于一种先有鸡后有蛋的情况:我不能强迫Git从远程源重新提取文件,也不能让transcrypt重试解密 我尝试过切换分支,这很有

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

我搞乱了我的本地密钥,所以解密失败,但加密的transcrypt相关文件的最新git版本仍然存在于我的本地计算机上

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

现在,Git认为这些文件是最新版本(与远程源文件相比也是),但它们是加密的。Git和transcrypt处于一种先有鸡后有蛋的情况:我不能强迫Git从远程源重新提取文件,也不能让transcrypt重试解密

我尝试过切换分支,这很有效。。。有时候。这并不总是有效的,因为远程分支上与transcrypt相关的文件不一定不同。我能够将我当前的分支克隆到一个新分支,修改每个加密文件,然后在本地拉入该新分支。这把transcrypt踢松了,它成功了。必须有一个更优雅的方式来做到这一点


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

好的,我终于解决了这个问题:

transcrypt -d  # (dumps current transcrypt configuration, including key)
transcrypt -f  # (flushes transcrypt credentials and encrypts local files)
然后粘贴transcrypt配置行(从上面的transcrypt-d转储)以重新初始化设置并解密本地文件


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

我不明白加密本地文件如何帮助您解密它们