私の現在のプロジェクトでは、SVNを介して管理されているサードパーティのライブラリを使用しています。これをローカルのgithubに追加して、内部管理(バージョン間の外部更新の追跡、およびライブラリへの内部変更)を行います。SVNでは、svnimportと「ベンダーブランチ」戦略を使用してこれを実行しました。
gitで同様のことを試しました。リポジトリを作成し、ローカルでクローンを作成し、ライブラリをローカルクローンにエクスポートし、コミットしてプッシュします。プッシュ以外はすべてうまくいきました。大きなバイナリファイル(グラフィックス、ターボール、さらにはさまざまなプラットフォーム用にコンパイルされたDLL / SO / DYLIB)があるため、合計リポジトリは約1.7Gです。はい、私はこれらのファイルがリポジトリにあるべきではないことを知っていますが、この開発者はそうではないと感じ、今私はそれを扱うのに行き詰まっています。バイナリファイルは(他のすべてのソース管理システムと同じように)gitの強みではないことは知っていますが、それを行う方法が必要です。現在、git-pushは終了しません(約30分間CPUとネットワーク帯域幅を大量に消費し、その後10時間アイドル状態になりました)。
このようなベンダーリポジトリをGitで管理するにはどうすればよいですか?