Git を導入しようとしている組織では、バイナリ ファイルに関する Git の動作に関連する問題が発生しています。
私たちのプロジェクトでは、バイナリ ファイルとテキスト タイプのファイルが適切に混在し、通常のサイズは 1 GB になります。私たちの懸念は、数年後に完全なクローンが大きくなりすぎて、パフォーマンスとディスク容量の問題が発生することです.
Git に移行する環境の 1 つは、現在 TCM と呼ばれるシステム上に SW を持っています。バージョンが 7 ~ 10 年のリポジトリの合計サイズは 2 TB です。
ClearCase の別の環境には、約 7 ~ 8 年間の約 1 TB のデータがあります。
Git は特にバイナリ ファイルに影響を与えるデルタに格納しないため、5 年以上経過した状況がユーザーに懸念を引き起こしています。
浅いクローン機能が理想的でした。しかし、ドキュメントには、「浅いリポジトリには多くの制限があります (クローンしたりフェッチしたり、そこからプッシュしたり、プッシュしたりすることはできません)。歴史、および修正をパッチとして送信したいと考えています.". 浅いクローンを大まかにチェックすると、正常に機能することが示されますが、機能しない既知のユースケースが確実に存在するため、
これが機能しないユースケースの既知のリストはありますか?
質問する
1425 次
2 に答える
4
バイナリ ファイルは、スケーリングとクリーンアップが容易な専用リポジトリに保存することを強くお勧めします: Nexusのようなアーティファクト リポジトリです。
" How to handle a large git repository? " に他の選択肢があります。
すべてを Git に保持しようとして、不自然な方法で使用すると、常により多くの問題が発生します。それはソース管理ツールです。用途に合わせて使うのもいいかもしれません。
そうは言っても、浅いクローンはプッシュをサポートしていません (または、少なくとも危険です: 「なぜ浅いクローンからプッシュできないのですか?」 を参照してください)。
読み取り専用の場合は、「 git 浅いクローンを理解していないgit archive
」で述べたように、単純なもので十分です。
更新 2015:
- 実際、プッシュ/プルにシャロー
git clone --depth 1
クローンを使用できるようになりました。 - (Git 2.5 以降では) 単一のコミットをフェッチすることさえできます。「リモート git リポジトリから特定のコミットをプルする」を参照してください。
于 2012-10-30T11:27:14.893 に答える
1
Git Annexは、「git 内/近くの大きなバイナリ ファイル」の問題も非常に美しく解決します。
于 2012-11-23T18:01:26.347 に答える