daniel griscom
Estoy desarrollando para un proyecto integrado que tiene el árbol fuente de Linux como submódulo. Actualmente estoy trabajando en una máquina que no es de desarrollo, por lo que nunca compilaré con este repositorio; es solo para referencia.
En un momento, inicialicé el submódulo de Linux (que trajo alrededor de 2,5 GB de datos), pero ahora quiero revertir el proceso, dejando el submódulo de Linux sin inicializar en este repositorio. Para ser claros, no quiero verificar ningún cambio en el submódulo en lo que respecta a Git; Solo quiero recuperar mi espacio en disco.
¿Cómo puedo hacer esto? podria borrar el ./linux
y .git/modules/linux
directorios para deshacerse de todos los datos innecesarios, pero sospecho que eso dejará a git bastante confundido y molesto.
CifradoSandía
Los primeros tres pasos de los siguientes son cómo eliminar permanentemente un submódulo; el cuarto paso le dirá a git que restaure el módulo, pero no que lo reinicie.
1) Eliminar la entrada del submódulo de .git/config:
git submodule deinit -f path/to/submodule
2) Elimina el repositorio de submódulos del directorio .git/modules del superproyecto:
rm -rf .git/modules/path/to/submodule
3) Elimine el directorio del submódulo ubicado en la ruta/al/submódulo:
git rm -f path/to/submodule
4) Dile a git que descarte la eliminación del submódulo; devolverá el módulo al estado “no inicializado”, dejándolo sin cambios para confirmar:
git checkout -- .
Fuente
-
además de eso, si ejecuta “git checkout — .”, probablemente no tendrá cambios relacionados con la eliminación del submódulo
– Dogancan Arabacı
1 mayo 2019 a las 15:15
-
Gracias, @DoğancanArabacı. He propuesto una edición de la respuesta que incluye su comentario y funcionó para mí; ¿Te asegurarías de que lo hice bien? Gracias.
– Daniel Griscom
1 mayo 2019 a las 16:15
-
También para futuros viajeros, si solo desea que se eliminen los archivos de trabajo, puede detenerse después de la primera línea.
– Beeeeeeee
8 de marzo de 2021 a las 18:26
-
Los pasos 1 y 2 responden directamente a la pregunta del OP. Los pasos 3 y 4 son innecesarios y no deben incluirse en la respuesta.
– plwalsh88
10 de enero a las 13:11