bloggg.jpg

Olivier Bonnet-Torrès / FAQ, Insight
01/02/21 17:50

FAQ - [GIT] Comment détacher un sous-répertoire et en faire un dépôt à part?

La démarche consiste à cloner le dépôt local, puis à définir les branches intéressantes. Ensuite, il faut déréférencer le dépôt distant, supprimer les tags et, l'essentiel, filtrer les branches et tags concernés par le sous-répertoire à extraire. La suite consiste à nettoyer l'historique pour éviter de stocker trop d'informations. Enfin, un suivi du nouveau dépôt distant et surtout un push pour valider le nouveau dépôt. Et vous voilà avec un dépôt ne contenant que le sous-répertoire qui vous intéresse, ramené à la racine, et les commits associés.

En code:

git clone  
cd 
for i in   ; do git branch -t $i origin/$i; done
git remote rm origin
git checkout master
git tag -l | xargs git tag -d
git filter-branch --tag-name-filter cat --prune-empty --subdirectory-filter  -- --all
git reset --hard
git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d
git reflog expire --expire=now --all
git gc --aggressive --prune=now
git remote add origin [email protected]:beorndev/.git
git push -u origin 
Partager cet article :
Lien copié

FAQ, Insight

Autres articles qui pourraient vous plaire…

Card image cap

/

Card image cap

/

Card image cap

/