Tengo problemas para agregar una carpeta y todos sus subdirectorios a mi repositorio de git. Me di cuenta de que esta es una pregunta muy popular después de buscar en Google y probé cada sugerencia sin suerte, específicamente la sugerencia de la página de manual en git-add . Incluso lo intenté git add -A
sin éxito. Por simplicidad, digamos que inicialicé mi repositorio de git como Dir1
. Entonces tengo la siguiente estructura de directorios de archivos.
Dir1/file1-1.txt
Dir1/file1-2.txt
Dir1/Dir2/file2-1.txt
Dir1/Dir2/Dir3/file3-1.txt
Mis archivos reales tienen subdirectorios que abarcan 5-6 niveles de profundidad, entonces, ¿hay un comando git para agregar todos los archivos en cada subdirectorio a mi repositorio? En este momento, cuando hago la sugerencia de la página del manual git add Dir1/\*
que puedo ver Dir2
en mi repositorio, pero aparece como una carpeta verde y no puedo abrirla, lo que me lleva a creer que Dir2
no se obtuvieron todos los archivos / carpetas. adicional. Cualquier ayuda será muy apreciada. Soy un nuevo usuario de git (menos de una semana de uso), así que intenta mantener tus instrucciones al nivel de principiante.
fuente
git add
de cualquier directorio es automáticamente recursivo. El usogit add .
en el nivel superior del repositorio debería agregar todo allí. Si no es así,.gitignore
está en juego (local o global)..gitignore
? De alguna manera, tal vez se ignoren sus directorios.git status --ignored
?git add .
Debe agregar algún archivo en los directorios para que git los rastree.Respuestas:
Hacer,
mientras está en la raíz del repositorio. Agregará todo. Si lo hace
git add *
, solo agregará los archivos a los que*
apunta. El punto único se refiere al directorio.Si su directorio o archivo no se agregó a git index / repo después del comando anterior, recuerde verificar si está marcado como ignorado por git en el archivo .gitignore .
fuente
cd Dir1; git init; git add . ; git commit;
nada más. Si tiene .gitignore ignorando archivos en algún directorio y aún desea agregarlos, debe hacerlo engit add -f .
lugar degit add .
.Solución simple:
fuente
También puede enfrentar problemas si un subdirectorio en sí es un repositorio git, es decir, tiene un directorio .git, consulte con
ls -a
.Para eliminarlo, vaya al subdirectorio y
rm .git -rf
.fuente
También tuve problemas, pero lo hice bien escribiendo
git add -f ./JS/*
donde JS era el nombre de mi carpeta que contiene subcarpetas y archivos
fuente
No puedo decir con certeza si este es el caso, pero lo que parecía ser un problema para mí era tener archivos .gitignore en algunos de los subdirectorios. Nuevamente, no puedo garantizar esto, pero todo funcionó después de que se eliminaron.
fuente
Lo más probable es que estén en juego archivos .gitignore . Tenga en cuenta que los archivos .gitignore pueden aparecer no solo en el nivel raíz del repositorio, sino también en cualquier subnivel. Puede intentar esto desde el nivel raíz para encontrarlos:
encontrar . -nombre ".gitignore"
y luego examine los resultados para ver cuál podría estar impidiendo que se agreguen sus subdirectorios.
También puede haber submódulos involucrados. Compruebe los directorios ofensivos en busca de archivos ".gitmodules".
fuente
Vi este problema antes, cuando la (sub) carpeta que estaba tratando de agregar tenía su nombre que comenzaba con "_Algo_"
Quité los guiones bajos y funcionó. Verifique si su carpeta tiene caracteres que puedan estar causando problemas.
fuente