7

複数の Git リポジトリを含むフォルダー内のすべての重複オブジェクトをハードリンクする方法はありますか?

説明:

会社のサーバー (Linux マシン) で Git サーバーをホストしています。アイデアは、すべてのユーザーがプッシュアクセスを持っていないメインの正規リポジトリを持つことですが、すべてのユーザーは正規リポジトリをフォークします (正規リポジトリをユーザーのホームディレクトリに複製し、実際にハードリンクを作成します)。

/canonical/Repo /Dev1/Repo (最初に複製されたときに /canonical/Repo にハードリンクされたオブジェクト) /Dev2/Repo (最初に複製されたときに /canonical/Repo にハードリンクされたオブジェクト)

これはすべてうまくいきます。問題は次の場合に発生します。

Dev1: サーバー (/Dev1/Repo) のフォークに巨大なコミットをプッシュします Dev2: ローカル システムでそれをフェッチし、独自の変更を加えて、サーバー (/Dev2/Repo) の自分のフォークにプッシュします

(現在、同じ「巨大な」ファイルがサーバー上の両方の開発者のフォークに存在します。ハードリンクは自動的に作成されません。)

これは私のサーバースペースを狂ったように食い尽くしています!

サーバースペースが節約され、各開発者が自分のローカルマシンで自分のフォークから複製されたときにすべてのデータを取得できるように、2 つのフォーク間で複製されている、またはその点で標準的なオブジェクト間にハードリンクを作成するにはどうすればよいですか?

4

2 に答える 2