que - El archivo de purga del repositorio de Git falló, no se pudo crear una nueva copia de seguridad
git push (4)
Agregue una fuerza al comando de rama de filtro.
Intenté eliminar un archivo de mi repositorio remoto ejecutando:
git filter-branch --index-filter ''git rm --cached --ignore-unmatch Rakefile'' HEAD
Pero Git se queja de que
No se puede crear una nueva copia de seguridad. Ya existe una copia de seguridad anterior en refs / original /
Fuerza sobrescribir la copia de seguridad con -f
rm: no se puede eliminar /.git-rewrite/backup-refs: Permiso denegado
rm: no se puede eliminar el directorio /.git-rewrite: Directorio no está vacío
Esto fue después de que ya eliminé el directorio .git-rewrite en Windows.
¿Cómo puedo eliminar ese archivo? Es un archivo de 29Mb en mi repositorio, así que necesito quitar el archivo.
Traté de eliminar la confirmación en git rebase -i
, pero aparentemente porque la confirmación tocó muchos archivos diferentes, Git se queja de conflictos y aborté para estar a salvo.
Tuve el mismo problema y la respuesta anterior no lo solucionó. No quedaba el directorio .git / refs / original /. La solución para mí fue eliminar el archivo .git / packed-refs.
Use este comando para eliminar la copia de seguridad original:
git update-ref -d refs/original/refs/heads/master
Aquí está la esencia que utilicé para filtrar-filtrar mi git repo: https://gist.github.com/k06a/25a0214c98bc19fd6817
Usted ya ha realizado una operación de sucursal de filtro. Después de filter-branch, Git mantiene refs a los commit anteriores, en caso de que algo salga mal.
Puede encontrarlos en .git/refs/original/…
Elimine ese directorio y todos los archivos dentro, o use el indicador -f
para forzar a Git a eliminar las referencias antiguas.
git filter-branch -f /
--index-filter ''git rm --cached --ignore-unmatch Rakefile'' HEAD