submodulos - git submodule pull
¿Repositorios git anidados sin submódulos? (4)
1 / Podrías anular eso a través de:
- ya sea una configuración de configuración de git : establezca la variable de entorno
$GIT_DIR
define su directorio.git
del árbol de trabajo Git anidado como un.git
externo (externo tanto al repositorio anidado como al repositorio principal) - o configurando su repositorio anidado ''N'' fuera del repositorio principal, pero verifique que el repositorio ''N'' dentro del repositorio principal:
core.worktree
Establezca la ruta a la raíz del árbol de trabajo. Esto puede ser reemplazado por la variable de entorno GIT_WORK_TREE
y la opción de línea de comando --work-tree
En ambos casos, la idea es tener un árbol de trabajo anidado sin ningún subdirectorio .git
.
2 / Con los submódulos, el repositorio git anidado no está realmente incluido en el repositorio principal.
Se realiza una entrada especial en el árbol padre para grabar el Git SHA1 externo.
new file mode 160000
index 0000000..4c4c5a2
Ver también " naturaleza de los submódulos de Git " (tercera parte de la respuesta)
Parece que un repositorio git dentro de un repositorio padre no está incluido en un commit en el padre a menos que esté configurado como un submódulo. ¿Es posible anular este comportamiento y tratar el repositorio git anidado como cualquier otro directorio? No quiero depender de dependencias externas a través de submódulos, pero quiero usar git para administrar estas dependencias dentro del proyecto.
Consulte también ¿Son los submódulos de git la única forma segura de tener copias de trabajo dentro de las copias de trabajo? .
En realidad, cuando encontré la discusión actual, me preocupaba un problema diferente al resuelto aquí: usar git como un tipo de herramienta de archivo que podría archivar un árbol de sistema de archivos que ya tiene algunos directorios de trabajo de git ... tal vez el otro La pregunta está más cerca de mi problema.
Encontré otro método que parece funcionar para mí.
Si git add somefolder/
<- asegúrese de tener el /
al final, entonces agregará todos los archivos en lugar de tratarlo como un submódulo.
Más se menciona aquí: http://debuggable.com/posts/git-fake-submodules:4b563ee4-f3cc-4061-967e-0e48cbdd56cb
Esta no es la solución más elegante, pero vale la pena mencionarla.
Si cierra la carpeta que contiene el repositorio, puede verificarlo en el repositorio externo.
Esto puede ser útil porque tendrás el estado completo completo incluyendo git reflog
.