Estoy dividiendo un repositorio de Git usando la opción --subdirectory-filter de filter-branch, que funciona muy bien, excepto que arrastra todo a la raíz del repositorio.Filtro de subdirectorios Git con la estructura de directorios existente
Actualmente tengo
ABC
- DEF
- GHI
- JKL
- MNO
Y el resultado de este comando:
git filter-branch -f --subdirectory-filter ABC/DEF --prune-empty -- --all
Genera esto:
GHI
JKL
Cuando lo que realmente quiero es éste:
ABC
- DEF
- GHI
- JKL
No puedo ver nada en los documentos de Git que muestra una opción de filtro que conserva (o establece) la estructura de directorios y no he podido encontrar un comando Puedo ejecutar después de el filtrado para reasignar la estructura a como lo quiero
¿Esto es posible?
Worked perfectamente para mí también. Gracias por publicarlo Debo agregar que este comando no reemplaza el comando '--subdirectory-filter'; todavía ejecutas eso. Este comando reemplaza el comando 'git mv * ...' que otros documentos recomiendan. Pero sin la fea cometa masiva, el 'git mv' habría generado. –
Lamentablemente, esto no funciona para mí. Estoy en Windows ejecutando git-bash, y falla diciendo que no puede encontrar index.new ($ GIT_INDEX_FILE.new). Ojalá pudiera usar esta solución. –
@BerinLoritsch $ GIT_INDEX_FILE es una variable de entorno que la mayoría de las herramientas que he usado se configuran para usted; Tanto MsysGit como CygWin junto con varias alternativas de git bash para Windows. ¿Cuál es tu configuración exacta? – JRoughan