Lavoro su una squadra su un repository di grandi dimensioni. Recentemente abbiamo deciso di spostare una delle cartelle nel proprio moduloSpostata la cartella nel sottomodulo, ora ricevendo "I file non tracciati verrebbero sovrascritti" messaggio
-- aaa
-- .git
-- bbb
-- ccc
-- www # this folder is going into its own repo.
Ho seguito le istruzioni per filtrare la cartella www
nel proprio repository elencati qui: Detach (move) subdirectory into separate Git repository. Ho rimosso la cartella www
dal repository aaa
.
ho rimosso la directory dal ramo principale eseguendo questi comandi:
$ cd aaa
$ git checkout master
$ git rm -rf www
$ git commit -m "remove the www/ folder from the aaa repo."
Così ora sul maestro, l'albero si presenta così:
-- aaa
-- .git
-- bbb
-- ccc
mi piacerebbe aggiungere www
come un sottomodulo eseguendo:
$ 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.
Che funziona bene sul master. Tuttavia, ogni volta che provo a passare a un altro ramo, ottengo il seguente errore:
$ 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
Come posso rimuovere la cartella www
da tutti i rami del aaa
repo? Ci sono circa 100 filiali, quindi farlo manualmente sarebbe una seccatura.
Non sono preoccupato di mantenere eventuali modifiche in sospeso esistenti nelle cartelle www
di rami meno recenti.