es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo mover mi proyecto de git a un subdirectorio para todos los commits, excepto un archivo?

Estoy intentando mover todo mi repositorio raíz a un subdirectorio, excepto un archivo.

Por ejemplo, tengo algo como:

root
-Folder1
-Folder2
-.gitattributes

Y para todos los commits e historial, quiero:

root
-ProjectA
–Folder1
–Folder2
-.gitattributes

Es decir, quiero mover todo excepto .gitattributes a un subdirectorio. Si uso

git filter-repo –to-subdirectory-filter ProjectA/

todo se mueve. No puedo encontrar la estrategia para mover todo excepto un solo archivo.

¿Cómo mantengo el archivo en su ubicación actual? O ¿cómo muevo solo ese archivo de vuelta a la raíz con otro comando?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para mover todo excepto un archivo a un subdirectorio utilizando git-filter-repo, puedes utilizar la opción –path para excluir el archivo que deseas mantener en la raíz. Por ejemplo, para mover todo excepto .gitattributes al subdirectorio ProjectA, puedes ejecutar el siguiente comando:

    git filter-repo --to-subdirectory-filter ProjectA/ --path /.gitattributes
    

    Esto moverá todos los archivos y carpetas excepto .gitattributes al subdirectorio ProjectA.

    Si deseas mantener el archivo .gitattributes en la raíz, puedes utilizar nuevamente la opción –path para moverlo de regreso. Por ejemplo, para mover el archivo .gitattributes de regreso a la raíz, puedes ejecutar el siguiente comando:

    git filter-repo --to-subdirectory-filter . --path-glob .gitattributes
    

    Esto moverá únicamente el archivo .gitattributes de regreso a la raíz, dejando todos los demás archivos y carpetas en el subdirectorio ProjectA.

Comments are closed.