私たちの開発チームは、バージョン管理に git を使用し、大きなバイナリ ファイル (データ バイナリ、イメージ、テスト バイナリなど) を保存するために git-annex を使用しています。セットアップして使用することはできましたが、一連のトラブルがありました。
私たちが頻繁に実行する、問題を引き起こす一般的なアクションは次のとおりです。
開発者 1 は、新しい機能のいくつかのテストを追加し、git-annex を使用してテストに対応するデータを追加します。
git add <test-file> git annex add <data-file> git annex copy <data-file> --to=<remote location(we use s3 if that is relevant)> git commit -m 'Tests with data' git push git annex sync
作業はレビューされ、マージされます (ホスティングには Github を使用し、開発者が独自のフォークですべての作業を行い、プル リクエストを通じてメイン リポジトリにマージするフォーク モデルに従います)。
開発者 2 はアップストリームとフェッチ/マージし、自分のマシンでテストを実行しようとします。
git fetch upstream git merge upstream/<branch> git annex sync git annex get
多くの場合、テスト データが git で追跡されないか、リモートの場所からダウンロードできないという結果になります。
ワークフローで git-annex を使用する良い方法は何ですか?
余談ですが、そのようなワークフローをより良く/より管理しやすくする他のオプションは何ですか?