2016-07-25 9 views
1

私は2GBを超えるサイズのgitリポジトリを持っています。私たちの会社は1年に1つのバージョンをリリースし、5年ごとに1つずつサポートしているので、私は別の支店と異なる設定の5つのリポジトリが必要です。異なるconfigを持つ同じgitリポジトリの複数のコピーを保存するスペース

私が必要とするほとんど13ギガバイトちょうど.gitディレクトリ(ソースファイルと追加のライブラリが無い。

最もコミットと小さなチェンジと中央のフォルダを持つ気に入りましたか?スペースを節約するために.gitリポジトリ情報を共有する方法があります?すべてのプロジェクトのためのユニークな

+1

本当に5つのリポジトリか5つの作業ディレクトリが必要ですか? これらの5つの異なるリポジトリか、同じリポジトリ内のタグのみですか? – AnimiVulpis

+0

これは同じリポジトリで、異なるブランチだけです。私はそれらを個別に保つ必要があります。なぜならライブラリやスクリプトは一意で、さまざまな理由でgitの外に置かれていて、すべてのリリース用に特別に設定されたIDEだからです。 –

答えて

4

あなたはgit worktreeコマンド(gitのバージョン2.5.1またはそれ以上)を見てみる必要があります

例:

# git worktree add <path> [<branch>] 

$ git worktree add ../version-42/ origin/tag-v42 

このような作業ディレクトリの特定のファイルを除いてすべてを共有する新しい作業ディレクトリが現在のリポジトリにリンクされている

git-worktreeドキュメントから新しい作業ディレクトリ

を含む新しいフォルダが作成されますHEAD、索引など

これにより、多くのスペースを節約できます。 を覚えていることは1つだけです。同じブランチを持つ2つの作業ディレクトリ(作業ツリー)を同時に持つことはできません。


追加情報

使用git worktree list(あなたが一つ以上を削除した場合)worktreesのリストを更新するために、登録さworktreesのリストとそれぞれの枝

使用git worktree pruneを取得する

+0

ありがとう、それは私が探していたものです –

関連する問題