ultimo tag repositorio modificar eliminar cambiar borrar archivo git git-rewrite-history

tag - git--amend



¿Cómo elimino un archivo grande erróneamente cometido en git (3)

El comando que estás buscando es filter-branch . Le permite eliminar permanentemente archivos de un alistamiento. Este blog tiene un excelente tutorial sobre cómo eliminar archivos problemáticos del repositorio

Posible duplicado:
¿Cómo purgar un gran archivo del historial de commits en Git?

Hice una estupidez. Imagine que he cometido un archivo de 100 MB. Luego veo esto y borro este archivo y vuelvo a comprometerme. Este es un procedimiento normal para eliminar un archivo.

Pero ahora el efecto secundario es que mi historial es pesado porque se ha guardado este archivo grande (creo que este es el por qué es pesado). Solo estoy usando git local, así que no sincronizo en ningún servidor.

¿Cómo puedo eliminar definitivamente este archivo y ahorrar espacio en el disco?


Puede tomar este excelente script de David Underhill para eliminar el archivo del repositorio de git:

#!/bin/bash set -o errexit # Author: David Underhill # Script to permanently delete files/folders from your git repository. To use # it, cd to your repository''s root and then run the script with a list of paths # you want to delete, e.g., git-delete-history path1 path2 if [ $# -eq 0 ]; then exit 0 fi # make sure we''re at the root of git repo if [ ! -d .git ]; then echo "Error: must run this script from the root of a git repository" exit 1 fi # remove all paths passed as arguments from the history of the repo files=$@ git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch $files" HEAD # remove the temporary history git-filter-branch otherwise leaves behind for a long time rm -rf .git/refs/original/ && git reflog expire --all && git gc --aggressive --prune