多くの人のように、私はバイナリで Git を使用していますが、既存のソリューションはどれもうまくいかないようです (git-annex、git-lfs、git fat などの git プラグイン、サブモジュール/サブツリー (問題を別の場所に移すだけです) )。
だから私はクリーンとスマッジにフィルターを使用することを考えていました:
クリーンの場合:
#!/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)。
したがって、スクリプトは機能し、バイナリは G:\MO-F1\user\binary_folder (グループ共有ハード ドライブ) に blob としてストックされ、.git フォルダーには配置されません! しかし、対応するリポジトリのクローンを作成すると (さらに 2 つのスクリプトを追加して .gitattribute を変更すると)、これらのブロブにはアクセスできず、チェックアウトしても「ポインター」にしかアクセスできません。
リポジトリのクローンがグループ共有内のファイルに正しくアクセスするにはどうすればよいですか?
ご回答ありがとうございます