像很多人一样,我将 Git 与二进制文件一起使用,而现有的解决方案似乎都不适合我(git 插件,如 git-annex、git-lfs、git fat 等……、子模块/子树(它只是将问题转移到其他地方) )。
所以我一直在考虑使用过滤器进行清洁和涂抹:
清洁:
#!/bin/bash
dest=/g/MO-F1/user/binary_folder
mkdir -p $dest
tmpfile=$(git rev-parse --show-toplevel)/tmp
cat > $tmpfile
sha=$(git hash-object --no-filters $tmpfile)
mv $tmpfile $dest/$sha
echo $sha
对于涂抹:
#!/bin/bash
source=/g/MO-F1/user/binary_folder
tmpfile=$(git rev-parse --show-toplevel)/tmp
cat > $tmpfile
sha=$(cat $tmpfile)
cat $source/$sha
rm $tmpfile
我修改了.gitattributes,因此相应的二进制文件由过滤器管理(在我的例子中是.jpg和.png)
所以脚本可以工作,并且二进制文件作为 blob 存储在 G:\MO-F1\user\binary_folder (组共享硬盘驱动器)中,而不是放在 .git 文件夹中!但是当我克隆相应的存储库(并添加两个脚本并修改 .gitattribute)时,我无法访问这些 blob,只能访问“指针”,即使我签出也是如此。
存储库的克隆如何正确访问组共享中的文件?
感谢您的回复,我希望我已经足够清楚了