Grundlegende Frage: Wie trenne ich ein Git Repo von dem Ursprung, von dem es geklont wurde?
git branch -a
zeigt:
* master
remotes/origin/HEAD -> origin/master
und ich möchte jegliches Wissen über die Herkunft und die damit verbundenen Revisionen entfernen.
Längere Frage: Ich möchte ein bestehendes Subversion-Repository nehmen und daraus eine Reihe kleinerer Git-Repos erstellen. Jedes der neuen Git-Repos soll die gesamte Historie nur des betreffenden Zweigs enthalten. Ich kann das Repository auf den gewünschten Teilbaum beschränken:
git filter-branch --subdirectory-filter path/to/subtree HEAD
aber das resultierende Projektarchiv enthält immer noch alle Revisionen der jetzt verworfenen Teilbäume unter dem origin/master-Zweig.
Ich weiß, dass ich die -T-Flagge von git-svn verwenden könnte, um den entsprechenden Teilbaum des Subversion-Repos zu klonen. Ich bin mir nicht sicher, ob das effizienter wäre als die spätere Ausführung mehrerer Instanzen von git filter-branch --subdirectory-filter
auf Kopien des Git-Repos, aber auf jeden Fall möchte ich die Verbindung mit dem Ursprung aufheben.