2012-02-15 13 views
10

Trabajo en equipo en un repositorio grande. Recientemente hemos decidido mover una de las carpetas en su propio submóduloSe movió la carpeta al submódulo y ahora aparece el mensaje "Se desestimaron los archivos sin seguimiento"

-- aaa 
    -- .git 
    -- bbb 
    -- ccc 
    -- www  # this folder is going into its own repo. 

He seguido las instrucciones para filtrar la carpeta www en su propio repo señaladas aquí: Detach (move) subdirectory into separate Git repository. Moví la carpeta www del repositorio aaa.

Quité el directorio de la rama principal mediante la ejecución de estos comandos:

$ cd aaa 
$ git checkout master 
$ git rm -rf www 
$ git commit -m "remove the www/ folder from the aaa repo." 

Así que ahora el maestro, el árbol se ve así:

-- aaa 
    -- .git 
    -- bbb 
    -- ccc 

que desea añadir como www un submódulo ejecutando:

$ cd aaa 
$ git checkout master 
$ git submodule add [email protected]:kevinburke/www.git www 
Cloning into 'www'... 
remote: Counting objects: 717, done. 
remote: Compressing objects: 100% (392/392), done. 
remote: Total 717 (delta 318), reused 711 (delta 317) 
Receiving objects: 100% (717/717), 440.52 KiB | 58 KiB/s, done. 
Resolving deltas: 100% (318/318), done. 

Eso funciona bien en el maestro. Sin embargo, cada vez que trato de cambiar a otra rama, me sale el siguiente error:

$ cd aaa 
$ git checkout other-old-branch 
error: The following untracked working tree files would be overwritten by checkout: 
    www/1... 
    www/2... 
    www/3... 
    www/4... 
Aborting 

¿Cómo puedo eliminar la carpeta www de todas las sucursales en el aaa repo? Hay alrededor de 100 ramas, por lo que hacer esto manualmente sería una molestia.

No me preocupa guardar los cambios pendientes que existen en las carpetas www de las ramas más antiguas.

Respuesta

15

Simplemente use git checkout -f para intercambiar ramas, luego elimínelas como lo haría normalmente y realice la fusión en el maestro para obtener la introducción de su submódulo.

Cuestiones relacionadas