Я работаю в команде над большим репо. Недавно мы решили переместить одну из папок в отдельный подмодуль
-- aaa
-- .git
-- bbb
-- ccc
-- www # this folder is going into its own repo.
. Я выполнил инструкции, чтобы отфильтровать папку www
в ее собственное репо, указанное здесь: Отсоединить (переместить) подкаталог в отдельный Git репозиторий . Я переместил папку www
из репозитория aaa
.
Я удалил каталог из ветки master, выполнив следующие команды:
$ cd aaa
$ git checkout master
$ git rm -rf www
$ git commit -m "remove the www/ folder from the aaa repo."
Итак, теперь на master дерево выглядит следующим образом:
-- aaa
-- .git
-- bbb
-- ccc
Я хотел бы добавить www
в качестве подмодуля с помощью running:
$ cd aaa
$ git checkout master
$ git submodule add git@bitbucket.org: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.
Это отлично работает на мастере. Однако каждый раз, когда я пытаюсь переключиться на другую ветку, я получаю следующую ошибку:
$ 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
Как мне удалить папку www
из всех ветвей в репозитории aaa
? Существует около 100 веток, поэтому делать это вручную будет затруднительно.
Меня не беспокоит сохранение каких-либо незавершенных изменений, существующих в папках www
старых веток.