Duplicar posibles:
How to split a git repository while preserving subdirectories?División de un conjunto de archivos dentro de un repositorio git en su propio repositorio, preservar la historia relevante
En un momento he añadido mi código a un repositorio git existente , y se han comprometido bastante desde entonces, mientras que el otro desarrollador se ha comprometido con los otros archivos existentes en el repositorio. Ahora quiero dividir mi código en su propio repositorio, pero conservar todo el historial de cambios para mis archivos particulares.
Lectura a través de lo que otros han hecho por división de código que yo estaba buscando en filter-branch
y haciendo --index-filter
o --tree-filter
con rm
comandos para los archivos que no se preocupan. No quiero usar --subdirectory-filter
ya que no es apropiado para el subdirector que sostiene que mi código sea el dir superior (también compartimos un subdirectorio). Para complicar las cosas, algunos de los archivos del repositorio original se han movido un poco con el tiempo, y hay algunos archivos que se crearon y luego se eliminaron. Esto hace que el diseño de una lista rm sea un poco ... desafiante.
Estoy buscando una forma de filtrar todo/excepto/una lista de archivos/directorios. ¿Alguien sabe de una manera de hacer esto?
Gracias. Lo hice con 'git filter-branch --prune-empty --index-filter 'git ls-tree -r --name-only --full-tree $ GIT_COMMIT | grep -v "^ src/pyfedpkg $" | grep -v "^ src/fedpkg" | grep -v "^ git-changelog" | xargs git rm --cached -r '- --all' – jkeating
No es lo mismo que http://stackoverflow.com/questions/2797191/how-to-split-a-git-repository-while-preserving-subdirectories (En mi humilde opinión) ya que está pidiendo que se preserve un conjunto particular de archivos dispersos. – rogerdpack
¡Esto no es un duplicado! La pregunta/respuesta proporcionada allí (2797191) solo se aplica a los archivos en un único directorio. Esta pregunta es para pedir un conjunto de archivos, agrupados innecesariamente en un directorio. – jxy