Kam*_*her 5 git encryption git-filter git-lfs git-crypt
我知道如何通过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
Run Code Online (Sandbox Code Playgroud)
我知道如何使用git-lfs存储文件(在自托管的 GitLab 上;在项目设置中启用 LFS):
git lfs track somethingTo.crypt.txt
git add .gitattributes # updated LFS rule for tracked file
git commit
git push
Run Code Online (Sandbox Code Playgroud)
...但是,如何在同一个文件上使用它们呢?
即使在用于存储在 LFS 上的过滤器之前.gitattributes有用于加密的git-filter,该文件也不会被加密(报告“未加密”)。LFS 未跟踪的所有其他文件均已正确加密。git crypt status | grep somethingTo*.crypt.*
我想问题在于我somethingTo.crypt.txt现在只是存储库中的引用对象,而不是实际的(加密的)文件。但我希望(感谢 s git-filter)文件在被推送到LFS Store之前会被过滤/加密。
两个过滤器扩展彼此兼容吗?我如何让他们一起工作?
您可以自己编写过滤器。你必须制作自己的组合过滤器(以及这些 mods 安装的任何其他属性)来达到你想要的效果,git 不知道如何使第三方钩子相互配合,
即使
.gitattributes在 LFS 上存储的过滤器之前有用于加密的 git-filter,文件也不会被加密
这是因为属性不会累积,而是会覆盖。每个属性都会获得一个值,即上一次匹配中指定的值。如果您想要一个结合了两个第三方工具效果的过滤器,则必须编写一个结合这两个第三方工具效果的过滤器。
| 归档时间: |
|
| 查看次数: |
706 次 |
| 最近记录: |