gpt4 book ai didi

git:如果 git-fat 不处理二进制文件,则保证不会将它们添加到提交中

转载 作者:IT王子 更新时间:2023-10-29 01:04:54 27 4
gpt4 key购买 nike

我正在使用 git-fat 和 git 来处理大型二进制文件。我试图解决的问题是,如果 git-fat 不处理大型二进制文件,则防止它们被添加到本地提交中。

我的方法是更新预提交以阻止所有二进制文件并仅允许文件 IF:

  • 运行了 git fat init
  • .gitfat 文件存在并配置了 rsync
  • 在文件上运行 git check-attr filter 以验证 filter: fat 在输出中

我是不是错过了一个技巧?用gitgit-fat

解决这个问题有什么好的方法

例如,当对二进制文件调用 git add 时,我可以对 .git/fat/objects 做些什么来确定 git-fat 处理了该文件吗?

最佳答案

Am I missing a trick with this?

最好在服务器端添加一个限制,这将限制/阻止推送的大小,防止任何可能从裂缝中掉下来的大型二进制文件通过。

检测是否git fat init被执行后,你可以简单地查询git config filter.fat.cleangit config filter.fat.smudge的值。

git-fat 的有趣之处在于它不需要 Git 托管服务器本身的任何特殊功能/支持:大文件的存储/替换由本地过滤器处理。

同一文件管理的更新版本是 git lfs ,它也通过 Git 过滤器运行。

当然,不需要过滤器且完全自动化的最终解决方案是 VFS for Git , Git Virtual Filesystem由 Microsoft 开发,并慢慢 merge 回 Git 本身。但它确实需要支持该功能的 Git 存储库托管服务器。


OP 添加:

Is there anything I can do with the .git/fat/objects to determine that git-fat handled the file when git add was called on the file?

命令git fat verify确实会检查每个对象:可以调整它以查看特定文件,并检查其自身与 catalog_objects 之间的 sha1。

关于git:如果 git-fat 不处理二进制文件,则保证不会将它们添加到提交中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52852054/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com