Question de base : Comment puis-je dissocier un repo git de l'origine à partir de laquelle il a été cloné ?
git branch -a
montre :
* master
remotes/origin/HEAD -> origin/master
et je veux supprimer toute connaissance de l'origine, et les révisions associées.
Question plus longue : Je veux prendre un dépôt subversion existant et créer un certain nombre de dépôts git plus petits à partir de celui-ci. Chacun des nouveaux dépôts git doit avoir l'historique complet de la branche concernée. Je peux élaguer le dépôt pour n'avoir que le sous-arbre voulu en utilisant :
git filter-branch --subdirectory-filter path/to/subtree HEAD
mais le repo résultant contient toujours toutes les révisions des sous-arbres maintenant éliminés sous la branche origin/master.
Je réalise que je pourrais utiliser l'option -T de git-svn pour cloner le sous-arbre pertinent du dépôt de subversion en premier lieu. Je ne suis pas sûr que cela soit plus efficace que de lancer plus tard de multiples instanciations de git filter-branch --subdirectory-filter
sur des copies du repo git mais, dans tous les cas, j'aimerais quand même rompre le lien avec l'origine.