J'avais déjà validé le dossier auparavant et je veux supprimer le répertoire dans l'historique également.
J'ai fait ce qui suit :
Ajouter un dossier à .gitignore
:
echo Folder_Name/ >> .gitignore
Supprimer de tous les commits :
git filter-branch --index-filter 'git rm -rf --cached --ignore-unmatch Folder_Name/' --prune-empty --tag-name-filter cat -- --all
supprimer les refs des anciens commits :
git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d
Assurez-vous que toutes les anciennes références sont entièrement supprimées
rm -Rf .git/logs .git/refs/original
Effectuer un ramassage des déchets
git gc --prune=all --aggressive
pousser vos changements vers le référentiel en ligne :
git push
Vous avez terminé ici.
Mais vous pouvez utiliser la commande suivante pour pousser tous les changements dans toutes les branches : Mais faites attention avec cette commande !
git push origin --all --force
git push origin --tags --force
Après cela, le dossier a été supprimé de git, mais n'a pas été supprimé du disque local.
1 votes
Y a-t-il des fichiers dans les répertoires ?
5 votes
@Iarsmans : Oui, 6 fichiers. Les deux répertoires sont identiques sauf que l'un est en majuscule, l'autre en minuscule.
16 votes
Vous avez seulement besoin :
git rm -r --cached folder_name