Estoy usando Git y he confirmado algunos archivos usando
git commit -a
Más tarde, descubrí que un archivo había sido añadido por error al commit.
Cómo puedo eliminar un archivo de la última confirmación?
¡ATENCIÓN! Si sólo quieres eliminar un archivo de tu confirmación anterior, y mantenerlo en el disco, lee la respuesta de juzzlin justo arriba.
Si esta es su última confirmación y quiere borrar completamente el fichero de su repositorio local y del remoto, puede hacerlo:
git rm <fichero>
.git commit --amend
.La bandera amend le dice a git que haga un commit de nuevo, pero "fusionando" (no en el sentido de fusionar dos ramas) este commit con el último commit.
Como se indica en los comentarios, usar git rm
aquí es como usar el propio comando rm
.
Si no ha introducido los cambios en el servidor, puede utilizar
git reset --soft HEAD~1
Esto restablecerá todos los cambios y revertirá a un commit atrás
Si usted ha empujado sus cambios a continuación, siga los pasos como respondió @CharlesB
Al eliminar el archivo con rm, se borrará.
Siempre estás añadiendo a un commit en lugar de eliminarlo, así que en este caso devuelve el archivo al estado en el que estaba antes del primer commit (esto puede ser una acción 'rm' de borrado si el archivo es nuevo) y luego re-commit y el archivo se irá.
Para devolver el archivo a algún estado anterior:
git checkout <commit_id> <path_to_file>
o para devolverlo al estado en el HEAD remoto:
git checkout origin/master <path_to_file>
entonces modifica el commit y deberías encontrar que el archivo ha desaparecido de la lista (¡y no se ha borrado de tu disco!)