Eliminar archivos
Luego de subir archivos a un repositorio, también podemos eliminarlo.
Supongamos que en el repositorio tenemos dos archivos: archivo.txt
y archivo2.txt
.
Si queremos eliminar archivo2.txt
del repositorio, debemos eliminarlo de nuestro espacio de trabajo. Si revisamos el estado del repositorio después de eliminar:
$ rm archivo2.txt
$ git status
On branch master
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: archivo2.txt
no changes added to commit (use "git add" and/or "git commit -a")
Vemos que archivo2.txt
ha sido eliminado del espacio de trabajo. Si queremos que estos cambios se suban al repositorio, basta con “agregar el archivo eliminado” a staging, para luego hacer un commit.
Luego de agregar el cambio a staging:
$ git add archivo2.txt
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
deleted: archivo2.txt
Luego haremos el commit con el mensaje, y los cambios se actualizarán en el repositorio.
Restaurar
Si en nuestra área de trabajo eliminamos o modificamos un archivo y ese cambio no está en staging, podemos recuperarlo con git restore <file>
.
Este comando restaura el archivo a la última versión registrada en el repositorio. Es decir, Se vuelve al estado del archivo subido en el último commit.
IMPORTANT
Si el archivo está en staging, podemos usar
git restore --staged <file>
para quitarlo del area de staging, y luego podremos restaurarlo como se mencionó anteriormente. Puede resultar engorroso si hay muchos archivos en staging. Alternativamente, se puede usargit reset
para quitar archivos de staging. Ver sección modificar commits.
Renombrar
También podemos renombrar archivos mediante el comando git mv <file> <file-with-new-name>
. Luego hacemos un commit y el archivo se cambiará de nombre.
Es más recomendable usar esto que cambiándole el nombre manualmente, ya que de esta manera git detectará que el archivo renombrado (con el nombre anterior) se eliminó, y un nuevo archivo (el mismo pero con el nombre actual) se agrega al repositorio, cuando no fué así.