Git: eliminar un archivo

G

A medida que su proyecto cambie con el tiempo, es probable que en algún momento deba eliminar un archivo o un directorio completo del repositorio. Dado que esto implica más que cambiar el contenido de un archivo, Git tiene un comando especial para manejar la eliminación de archivos, que también toma algunas banderas importantes según su caso de uso.

En este breve artículo, echaremos un vistazo a git rm comando y cómo usarlo para eliminar archivos y directorios de su repositorio.

Eliminar un archivo

El uso más simple de este comando es eliminar un solo archivo del repositorio, lo que puede hacer usando la siguiente sintaxis:

$ git rm <filename>

Digamos que tenemos un repositorio de Git con el siguiente contenido:

$ git ls-files
.gitignore
index.js
lib/api.js
lib/db.js
package.json

Por alguna razón, supongamos que ya no necesitamos el lib/db.js archivo. Para eliminarlo de nuestro repositorio, ejecutamos lo siguiente:

$ git rm lib/db.js 
rm 'lib/db.js'

Ahora, enumerar nuestros archivos de repositorio nuevamente muestra que se eliminó:

$ git ls-files
.gitignore
index.js
lib/api.js
package.json

Sin embargo, aún no hemos terminado. Si ejecuta el status , notará que la eliminación del archivo aún está en etapa de preparación y debe confirmarse en el repositorio, al igual que cualquier otro cambio que realice.

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    deleted:    lib/db.js
$ git commit -m "Removed db.js file"
[master cf191e4] Removed db.js file
 1 file changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 lib/db.js

Eliminar varios archivos

Eliminar varios archivos de un repositorio es muy similar al caso de uso anterior de eliminar un solo archivo. Dependiendo de su método preferido, hay algunas formas de hacer esto. Por ejemplo, puede simplemente enumerar explícitamente todos los archivos que se eliminarán:

$ git rm lib/db.js lib/api.js
rm 'lib/api.js'
rm 'lib/db.js'

O, si hay más archivos de los que desea enumerar, siempre puede usar el carácter comodín:

$ git rm lib/*.js
rm 'lib/api.js'
rm 'lib/db.js'

Tenga en cuenta que al eliminar todo el contenido del lib directorio, Git también eliminará el directorio real. Esto se hace porque Git solo rastrea archivos, no directorios:

$ git ls-files
.gitignore
index.js
package.json

Eliminar un directorio

Para eliminar un directorio completo de su repositorio de Git, todo lo que necesita hacer es eliminar todos los archivos en ese directorio del repositorio. Esto se puede hacer usando uno de los métodos anteriores si no hay muchos archivos, pero en muchos casos esto sería demasiado engorroso. En este caso, la mejor opción sería eliminar de forma recursiva todos los archivos utilizando el -r bandera.

$ git rm -r <directory>

Para este ejemplo, trabajaremos con nuestro ejemplo anterior y agregaremos algunos archivos más a nuestro lib directorio:

$ git ls-files
.gitignore
index.js
lib/apis/aws.js
lib/apis/github.js
lib/apis/stripe.js
lib/db.js
package.json

Aquí tenemos archivos y directorios anidados dentro lib. Para eliminar todo lib directorio del repositorio por completo, podemos usar el -r bandera:

$ git rm -r lib
rm 'lib/apis/aws.js'
rm 'lib/apis/github.js'
rm 'lib/apis/stripe.js'
rm 'lib/db.js'

Tenga en cuenta que esto maneja la eliminación de todos los archivos bajo lib, e incluso lib/apis, ya que busca de forma recursiva en el directorio.

Y finalmente, no olvides confirmar tus cambios:

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    deleted:    lib/apis/aws.js
    deleted:    lib/apis/github.js
    deleted:    lib/apis/stripe.js
    deleted:    lib/db.js

$ git commit -am "Removed lib directory"
[master 53fc6af] Removed lib directory
 4 files changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 lib/apis/aws.js
 delete mode 100644 lib/apis/github.js
 delete mode 100644 lib/apis/stripe.js
 delete mode 100644 lib/db.js

 

About the author

Ramiro de la Vega

Bienvenido a Pharos.sh

Soy Ramiro de la Vega, Estadounidense con raíces Españolas. Empecé a programar hace casi 20 años cuando era muy jovencito.

Espero que en mi web encuentres la inspiración y ayuda que necesitas para adentrarte en el fantástico mundo de la programación y conseguir tus objetivos por difíciles que sean.

Add comment

Sobre mi

Últimos Post

Etiquetas

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con tus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, aceptas el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad