Tengo una estructura de directorios en mi repositorio:git-filter-branch: salir de la estructura de directorios
|-repository/
| | |-repository/fileOne
| |
| |-subOne/
| | |-subOne/fileTwo
| |
| |-subTwo/
| |-subTwo/fileThree
Quiero mover el directorio subOne
en un repositorio diferente. Para hacer eso, estoy separando subOne
usando git-filter-branch
así:
$ git filter-branch --subdirectory-filter subOne --prune-empty
Esto me deja con una historia rama que tiene este aspecto:
$ git log --oneline
0c0ea11 subOne history
6318bba subOne history
c96fddb Initial commit
Esto es exactamente lo que quiero; desde otro repositorio puedo hacer un git fetch
y git merge
, que agrega subOne
y el historial en el otro repositorio. Eso es genial.
Sin embargo, git-filter-branch
ha eliminado subOne
. Comprobación de la estructura de directorios en mi sucursal:
$ ls
fileOne
$ pwd
/this/is/a/path/repository
pwd
debería leer: /this/is/a/path/repository
, pero ls
debe mostrar subOne
dentro del repositorio. Lo que tengo en su lugar son los archivos de subOne
movidos hacia arriba y el directorio eliminado.
¿Cómo puedo extraer subOne
sin perder el directorio?
Yo _think_ filter-branch podría llamar a 'sh' en lugar de a' zsh' – knittl