tag - quitar archivos de git
¿Cómo eliminar un directorio del repositorio git? (12)
Tengo 2 directorios en mi repositorio GitHub. Me gustaría borrar uno de ellos. ¿Cómo podría hacer eso sin borrar y volver a crear todo el repositorio?
Eliminar directorio de git y local
Usted podría pagar ''maestro'' 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, lo que normalmente quiere hacer es eliminar este directorio de git pero no eliminarlo completamente del sistema de archivos (local)
En ese caso use:
git rm -r --cached myFolder
Para eliminar la carpeta / directorio solo del repositorio de git y no de los comandos locales de try 3 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 esa carpeta en las siguientes confirmaciones.
Para ignorar esa carpeta de las siguientes confirmaciones, cree un archivo en la raíz llamado .gitignore y ponga ese nombre de carpeta en ella. Puedes poner tantas como quieras
El archivo .gitignore se verá así
/FolderName
El primer comando git necesita saber quién eres antes de eliminar cualquier cosa.
- git init
- git config user.name "alguien"
- git config user.email "[email protected]"
- git rm -r
- git commit -m "eliminando dir"
- git push master master
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.
Para agregar nuevo directorio:
mkdir <YOUR-DIRECTORY>
Pero ahora Git no es consciente de este nuevo directorio, porque Git mantiene un seguimiento de los archivos, no de los directorios.
git status
Git no estará al tanto del cambio que hemos realizado, por lo que agregamos .keep
archivo .keep
oculto para que Git se dé cuenta de este nuevo cambio.
touch /YOUR-directory/.keep
Ahora, si git status
Git estará al tanto de los cambios.
Y si desea eliminar el directorio, debe utilizar este comando.
rm -r <YOUR-DIRECTORY>
Y si marcó utilizando el git status
, verá que el directorio ha sido eliminado.
Puede eliminar la carpeta localmente y luego empujar, de la siguiente manera:
git rm -r folder_name
git commit -m "your commit"
git push origin master
Puede usar el árbol de fuentes de Attlasian (Windows) ( https://www.atlassian.com/software/sourcetree/overview ). Simplemente seleccione los archivos del árbol y presione el botón "Eliminar" en la parte superior. Los archivos se eliminarán del repositorio local y de la base de datos git local. Luego cometer, luego empujar.
Puedes intentar esto: git rm -rf <directory_name>
Se obligará a eliminar el directorio.
Si elimina los archivos en el directorio (con git rm
como explican las otras respuestas), entonces el directorio ya no existe en lo que concierne a git. No puede cometer un directorio vacío, ni puede eliminar uno.
Esto es diferente a la subversión en la que tienes que svn rm emptyfolder/
, y es por cierto que la página de man
de git se describe a sí misma como "el rastreador de contenido estúpido"
Una respuesta en "Cómo agrego un directorio vacío a un repositorio de git" enlaza a las preguntas frecuentes sobre este tema :
Actualmente, el diseño del índice git (área de preparación) solo permite que los archivos se incluyan en la lista, y nadie lo suficientemente competente para hacer el cambio para permitir que los directorios vacíos se hayan preocupado lo suficiente por esta situación para remediarlo.
Los directorios se agregan automáticamente al agregar archivos dentro de ellos. Es decir, los directorios nunca tienen que agregarse al repositorio, y no se rastrean por sí mismos.
Puede decir "
git add <dir>
" y agregará archivos allí.Si realmente necesita un directorio para existir en las cajas, debe crear un archivo en él. .gitignore funciona bien para este propósito; puede dejarlo vacío o completar los nombres de los archivos que espera que aparezcan en el directorio.
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 entonces
git commit -m ''deleting directory''
y entonces
git push origin master
.
Uno de mis colegas sugirió BFG Repo-Cleaner, que creo que es potente. No solo elimina datos no deseados sino que también limpia su repositorio de cualquier información de confirmación relacionada.
Vaya a su directorio git y luego escriba el siguiente comando: rm -rf < Nombre del directorio >
Después de eliminar el directorio, confirme los cambios: git commit -m "Su mensaje de confirmación"
Luego simplemente presione los cambios en el directorio remoto de GIT: git push origin < Nombre de la rama >