¿Cómo eliminar un directorio del repositorio git?

Tengo 2 directorios en mi repositorio GitHub. Me gustaría quitar uno de ellos. ¿Cómo puedo hacer esto sin eliminar y volver a crear todo el repositorio?

987
11 июня '11 в 2:54 2011-06-11 02:54 Sahat Yalkabov está programado para el 11 de junio de 2011 a las 2:54 2011-06-11 02:54
@ 14 respuestas

Eliminar directorio de git y local

Puedes consultar el "master" con ambos directorios;

 git rm -r one-of-the-directories git commit -m "Remove duplicated directory" git push origin <your-git-branch> (typically 'master', but not always) 

Eliminar directorio de git, pero no local

Como se mencionó en los comentarios, generalmente querrá eliminar este directorio de git, pero no eliminarlo completamente del sistema de archivos (local)

En este caso, utilice:

 git rm -r --cached myFolder 
1913
11 июня '11 в 3:37 2011-06-11 03:37 la respuesta se da karmakaze 11 de junio de 2011 a las 3:37 2011-06-11 03:37

Para eliminar una carpeta / directorio solo del repositorio git, y no del local, intente 3 comandos simples.


Pasos para eliminar el directorio

 git rm -r --cached FolderName git commit -m "Removed folder from repository" git push origin master 

Pasos para ignorar esta carpeta en los siguientes comandos.

border=0

Para ignorar esta carpeta de las siguientes confirmaciones, cree un solo archivo en el directorio raíz llamado .gitignore y pegue este nombre de carpeta en él. Puedes acomodar tanto como quieras.

El archivo .gitignore se verá así.

 /FolderName 

2019

235
03 дек. La respuesta se da eirenaios 03 dec. 2014-12-03 15:34 '14 a las 15:34 2014-12-03 15:34

Si por alguna razón lo que dijo karmakaze no funciona, puede intentar eliminar el directorio que desea eliminar (mediante el navegador del sistema de archivos) emitiendo el comando
git add -A
y luego git commit -m 'deleting directory'
y luego git push origin master .

65
11 июня '11 в 5:14 2011-06-11 05:14 la respuesta la ofrece cmcculloh el 11 de junio de 2011 a las 5:14 am 2011-06-11 05:14

Puede intentar lo siguiente: git rm -rf <directory_name>

Esto borrará el directorio.

20
23 окт. respuesta dada a Breen ho el 23 de octubre 2013-10-23 13:21 '13 a la 1:21 pm 2013-10-23 13:21

Si elimina archivos en un directorio (con git rm , como se explica en otras respuestas), el directorio ya no existe hasta que git. No puede transferir un directorio vacío y no puede eliminarlo.

Esto no es como la subversión, donde tienes que svn rm emptyfolder/ , y por cierto, la página de man git man describe a sí misma como un "rastreador de contenido estúpido"

La respuesta a Cómo agregar un directorio vacío al repositorio de git a las Preguntas y respuestas sobre este problema :

Actualmente, el diseño del índice git (área de preparación) solo permite que los archivos se incluyan en la lista, y nadie es lo suficientemente competente como para dejar el cambio en los directorios lo suficiente como para que esta situación lo corrija.

Los directorios se agregan automáticamente cuando se agregan archivos a ellos. Eso, los directorios nunca deben agregarse al repositorio y no rastrearse por sí mismos.

Puede decir " git add <dir> " y agregará los archivos allí.

Si realmente necesita un directorio para las declaraciones, debe crear un archivo en él. .gitignore funciona bien para este propósito; puede dejarlo vacío o ingresar los nombres de los archivos que espera que aparezcan en el directorio.

16
06 авг. la respuesta se da dbr 06 ago. 2013-08-06 12:01 '13 a las 12:01 PM 2013-08-06 12:01

Vaya al directorio git, luego escriba el siguiente comando: rm -rf <Nombre de referencia>

Después de eliminar el directorio, confirme los cambios: git commit -m "Su mensaje requerido"

Luego simplemente haga clic en los cambios en el directorio git remoto: git push origin <Nombre de rama>

6
13 июля '16 в 14:53 2016-07-13 14:53 la respuesta se da anky el 13 de julio de '16 a las 14:53 2016-07-13 14:53

Normalmente uso git add --all para eliminar archivos / carpetas de repositorios remotos.

 rm -r folder_name git add --all git commit -m "some comment" git push origin master 

master puede ser reemplazado por cualquier otra rama del repositorio.

4
05 сент. La respuesta se da ettanany 05 sep. 2016-09-05 18:41 '16 a las 6:41 pm 2016-09-05 18:41

Puede eliminar una carpeta localmente y luego hacer clic como se muestra a continuación:

 git rm -r folder_name git commit -m "your commit" git push origin master 
3
26 февр. la respuesta se da shrikant 26 de febrero 2016-02-26 21:59 '16 a las 9:59 pm 2016-02-26 21:59

Puede usar el árbol de fuentes de Attlasian (Windows) ( https://www.atlassian.com/software/sourcetree/overview ). Simplemente seleccione los archivos del árbol y haga clic en "Eliminar" en la parte superior. Los archivos se eliminarán del repositorio local y de la base de datos git local. A continuación, confirme, luego haga clic.

2
01 сент. La respuesta la da Sergey Groshev el 01 sep . 2015-09-01 21:04 '15 a las 21:04 2015-09-01 21:04

Uno de mis colegas sugirió BFG Repo-Cleaner , que considero poderoso. Esto no solo elimina datos no deseados, sino que también borra su repositorio de cualquier información asociada sobre la confirmación.

1
16 нояб. la respuesta se da thanh.h.le 16 de noviembre 2016-11-16 17:28 '16 a las 5:28 pm 2016-11-16 17:28

Primero, el comando git necesita saber quién eres antes de eliminar cualquier cosa.

  • git init
  • git config user.name "alguien"
  • git config user.email "someone@someplace.com"
  • git rm -r
  • git commit -m "remove dir"
  • git push master master
1
07 июля '17 в 0:27 2017-07-07 00:27 Zeus recibe la respuesta el 7 de julio de 2017 a las 0:27 2017-07-07 00:27

para borrar carpetas vacias

Quería eliminar el directorio vacío (carpeta) que creé, git no puede eliminarlo, después de algunas investigaciones descubrí que Git no rastrea directorios vacíos. Si tiene un directorio vacío en su árbol de trabajo, simplemente debe eliminarlo usando

 rm -r folderName 

No hay necesidad de involucrar a git.

1
19 дек. La respuesta se da Rida 19 dic. 2018-12-19 04:59 '18 a las 4:59 2018-12-19 04:59

Para agregar un nuevo directorio:

 mkdir <YOUR-DIRECTORY> 

Pero ahora Git no sabe acerca de este nuevo directorio, porque Git rastrea archivos, no directorios DIRECTORIO

 git status 

Git no sabrá sobre el cambio que hicimos, por lo que agregaremos un archivo .keep oculto para que Git descubra este nuevo cambio.

 touch /YOUR-directory/.keep 

Ahora, si hace clic en el git status Git sabrá acerca de los cambios.

Y si desea eliminar un directorio, debe usar este comando.

 rm -r <YOUR-DIRECTORY> 

Y si marcó con el git status , verá que el directorio ha sido eliminado.

1
22 окт. La respuesta es dada por Abo3atef el 22 de octubre. 2017-10-22 18:22 '17 a las 6:22 pm 2017-10-22 18:22

En su repositorio local, simplemente elimine el directorio.

 rm -rf directory_name 

ahora haga clic en cambiar:

 git add . git commit -m "Delete a repository" git push 
0
03 дек. La respuesta se da slal 03 dec. 2017-12-03 09:25 '17 a las 9:25 2017-12-03 09:25

Otras preguntas sobre las etiquetas o Haz una pregunta