Pour tous ceux qui arriveront ici en 2021 (ou plus tard), git filter-branch n'est pas fortement recommandé par l'équipe centrale de git.
AVERTISSEMENT git filter-branch a une pléthore de pièges qui peuvent produire des manipulations non évidentes de la réécriture de l'historique prévue (et peut vous laisser peu de temps pour enquêter sur de tels problèmes puisqu'il a des performances si abyssales). Ces problèmes de sécurité et de performance ne peuvent pas être corrigés de manière rétrocompatible et, en tant que tel, son utilisation n'est pas recommandée. Veuillez utiliser un outil alternatif de filtrage de l'historique tel que git filter-repo. Si vous avez encore besoin d'utiliser git filter-branch, veuillez lire attentivement SAFETY (et PERFORMANCE) pour connaître les mines terrestres de filter-branch, puis évitez avec vigilance le plus grand nombre possible des dangers qui y sont énumérés.
L'outil recommandé est plutôt git-filtre-repo qui permet de résoudre facilement ce problème
git filter-repo --path subfolder/ # Filter the repo to just the sub-dir
git mv subfolder/* . # Move the contents of the sub-dir to the root
git commit -m "Filtered from main repo"
2 votes
Similaire à, ou duplicata de : stackoverflow.com/questions/811251/
0 votes
Duplicata possible de Comment puis-je déplacer un seul répertoire d'un dépôt git vers un nouveau dépôt tout en conservant l'historique ?