如何加密文件并将其存储在 LFS 上?
How to encrypt a file and store it on LFS?
我知道如何通过 git-crypt:
加密存储库中的文件
echo "*.crypt.* filter=git-crypt diff=git-crypt" > .gitattributes
echo "supersecret info" > somethingTo.crypt.txt
git add .gitattributes somethingTo.crypt.txt
git crypt status # somethingTo.crypt.txt results encrypted
git commit
git push
并且我知道如何使用 git-lfs 存储文件(在自托管的 GitLab 上;在项目设置中启用了 LFS):
git lfs track somethingTo.crypt.txt
git add .gitattributes # updated LFS rule for tracked file
git commit
git push
...但是,如何在同一个文件上同时使用它们?
即使 .gitattributes
有 git-filter 用于加密 before 用于存储在 LFS 上的过滤器,文件未加密(git crypt status | grep somethingTo
报告“未加密”)。 LFS 未跟踪的所有其他 *.crypt.*
文件均已正确加密。
我想问题出在我的 somethingTo.crypt.txt
现在只是存储库中的一个引用对象,而不是实际的(加密的)文件。但我希望(感谢 git-filter
s)文件在 被推送到 LFS Store[=42= 之前得到 filtered/encrypted ].
这两个过滤器扩展是否相互兼容?如何让它们协同工作?
您可以自己制作滤镜。你必须制作你自己的组合过滤器(以及那些模组安装的任何其他属性)来达到你想要的效果,git 不知道如何让 third-part 钩子相互协作,
Even if .gitattributes
has the git-filter for encrypting before the filter for storing on LFS, the file doesn't get encrypted
那是因为属性不会累积,它们会覆盖。您为每个属性获得一个值,即在最后一场比赛中指定的值。如果您想要一个结合了两个 third-party 工具的效果的过滤器,您必须编写一个结合了这两个 third-party 工具的效果的过滤器。
我知道如何通过 git-crypt:
加密存储库中的文件echo "*.crypt.* filter=git-crypt diff=git-crypt" > .gitattributes
echo "supersecret info" > somethingTo.crypt.txt
git add .gitattributes somethingTo.crypt.txt
git crypt status # somethingTo.crypt.txt results encrypted
git commit
git push
并且我知道如何使用 git-lfs 存储文件(在自托管的 GitLab 上;在项目设置中启用了 LFS):
git lfs track somethingTo.crypt.txt
git add .gitattributes # updated LFS rule for tracked file
git commit
git push
...但是,如何在同一个文件上同时使用它们?
即使 .gitattributes
有 git-filter 用于加密 before 用于存储在 LFS 上的过滤器,文件未加密(git crypt status | grep somethingTo
报告“未加密”)。 LFS 未跟踪的所有其他 *.crypt.*
文件均已正确加密。
我想问题出在我的 somethingTo.crypt.txt
现在只是存储库中的一个引用对象,而不是实际的(加密的)文件。但我希望(感谢 git-filter
s)文件在 被推送到 LFS Store[=42= 之前得到 filtered/encrypted ].
这两个过滤器扩展是否相互兼容?如何让它们协同工作?
您可以自己制作滤镜。你必须制作你自己的组合过滤器(以及那些模组安装的任何其他属性)来达到你想要的效果,git 不知道如何让 third-part 钩子相互协作,
Even if
.gitattributes
has the git-filter for encrypting before the filter for storing on LFS, the file doesn't get encrypted
那是因为属性不会累积,它们会覆盖。您为每个属性获得一个值,即在最后一场比赛中指定的值。如果您想要一个结合了两个 third-party 工具的效果的过滤器,您必须编写一个结合了这两个 third-party 工具的效果的过滤器。