Domanda di base: come posso dissociare un repository git dall'origine da cui è stato clonato?
git branch -a
Spettacoli:
* master
remotes/origin/HEAD -> origin/master
e voglio rimuovere tutta la conoscenza dell'origine e le revisioni associate.
Domanda più lunga: voglio prendere un repository di sovversione esistente e ricavarne un numero di repository git più piccoli. Ciascuno dei nuovi repository git dovrebbe avere la cronologia completa del solo ramo pertinente. Posso eliminare il repository solo nella sottostruttura desiderata usando:
git filter-branch --subdirectory-filter path/to/subtree HEAD
ma il repository risultante contiene ancora tutte le revisioni dei sottotitoli ora scartati nel ramo origine / master.
Mi rendo conto che potrei usare il flag -T per git-svn per clonare la sottostruttura rilevante del repository di sovversione in primo luogo. Non sono sicuro se ciò sarebbe più efficiente rispetto a quello successivo eseguendo più istanze di git filter-branch --subdirectory-filter
copie del repository git ma, in ogni caso, vorrei comunque interrompere il collegamento con l'origine.
--prune-empty
che mi mancava.