109 votes

La purge du fichier du dépôt Git a échoué, impossible de créer une nouvelle sauvegarde.

J'ai essayé de supprimer un fichier de ma télécommande pensions en cours d'exécution:

git filter-branch --index-filter 'git rm --cached --ignore-unmatch Rakefile' HEAD

Mais Git se plaint de ce que

Impossible de créer une nouvelle sauvegarde. Une précédente sauvegarde existe déjà dans refs/original/
La Force d'écraser la sauvegarde avec -f
rm: impossible de supprimer /.git-réécriture/sauvegarde-réf : Permission denied
rm: impossible de supprimer le répertoire /.git-réécriture : le Répertoire n'est pas vide

C'était après que j'ai déjà supprimé le .git-réécriture directory sur Windows.

Comment puis-je supprimer ce fichier? C'est un 29Mb fichier assis sur mon repo, je suis tout à fait besoin de supprimer le fichier.

J'ai essayé de supprimer le commettre en git rebase -i, mais apparemment, parce que la validation a touché un grand nombre de fichiers différents, Git se plaint de conflits et j'ai abandonné pour être sûr.

209voto

knittl Points 64110

Vous avez déjà effectué une opération de branchement de filtre. Après le branchement du filtre, Git conserve les références aux anciens commits, au cas où quelque chose se passerait mal.

Vous pouvez les trouver en .git/refs/original/… . Supprimez ce répertoire et tous les fichiers qu'il contient ou utilisez le drapeau -f pour forcer Git à supprimer les anciennes références.

 git filter-branch -f \
--index-filter 'git rm --cached --ignore-unmatch Rakefile' HEAD
 

2voto

Adam Dymitruk Points 34999

Ajouter une force à la commande de branche de filtre.

-3voto

Abizern Points 52378

Comme le message d'erreur vous le demande, avez-vous essayé:

 git filter-branch --index-filter 'git rm -f --cached --ignore-unmatch Rakefile' HEAD
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X