2016-07-25 2 views
1

Ich habe Git-Repository mit der Größe> 2GB. Unsere Firma veröffentlicht eine Version pro Jahr und unterstützt jede von ihnen für 5 Jahre, also brauche ich 5 Repositories mit verschiedenen Zweigen und unterschiedlicher Konfiguration.Speicherplatz für mehrere Kopien desselben Git-Repository mit verschiedenen Konfigurationen speichern

Ich brauche 13GB fast nur für .git Verzeichnis (ohne Quelldateien und zusätzliche Bibliotheken.

Gibt es eine Möglichkeit, die .git Repository-Informationen zu teilen um Speicherplatz zu sparen? Wie zentrale Ordner mit dem meisten Commits und mit kleinen Change einzigartig für jedes Projekt

+1

Benötigen Sie wirklich 5 Repositories oder 5 Arbeitsverzeichnisse? Sind diese 5 unterschiedlichen Repositories oder nur Tags im selben Repository? – AnimiVulpis

+0

es ist das gleiche Repository, nur verschiedene Zweige. Ich muss sie getrennt halten wegen Bibliotheken und Skripten, die einzigartig sind und aus verschiedenen Gründen außerhalb von Git bleiben und auch IDEs, die speziell für jedes Release konfiguriert sind. –

Antwort

4

Sie am git worktree Befehl (git Version 2.5.1 oder höher)

zum Beispiel einen Blick darauf werfen soll:.

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

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

Dies wird einen neuen Ordner ein neues Arbeitsverzeichnis

Von der git-worktree Dokumentation

Das neue Arbeitsverzeichnis verknüpft ist mit dem aktuellen Repository, teilt alles außer Arbeitsverzeichnis bestimmter Dateien enthält, wie erstellen HEAD, index usw.

Dies sollte Ihnen viel Platz sparen. Nur eine Sache zu erinnern: Sie können nicht zwei Arbeitsverzeichnisse (Arbeitsbäume) mit dem gleichen Zweig zur gleichen Zeit haben.


Zusätzliche Informationen

Verwenden git worktree list eine Liste der registrierten worktrees und ihre jeweiligen Niederlassungen erhalten

Verwenden git worktree prune die Liste der worktrees zu aktualisieren (falls Sie eine oder mehrere gelöschte)

+0

danke, das ist genau das, was ich gesucht habe –