Как перебросить submodules в свой репозиторий и удалить их окончательно?

Перестановка или перенос подмодулей в ваш репозиторий — это процесс, который включает в себя несколько шагов. Ниже приведены подробные инструкции о том, как выполнить эту задачу.

Шаг 1: Изменить файл .gitmodules
Первым шагом является изменение файла .gitmodules. Откройте этот файл в вашем текстовом редакторе и найдите секцию, относящуюся к подмодулю, который вы хотите перенести. Эта секция будет содержать следующую информацию:

[submodule "submodule_directory_path"]
path = submodule_directory_path
url = submodule_git_repository_url

Вам нужно изменить путь каталога подмодуля в соответствии с новым местоположением в вашем репозитории. Например, если вы хотите перенести подмодуль из директории "old_submodule_directory" в директорию "new_submodule_directory", ваш файл .gitmodules будет выглядеть следующим образом:

[submodule "new_submodule_directory"]
path = new_submodule_directory
url = submodule_git_repository_url

Сохраните файл .gitmodules после завершения изменений.

Шаг 2: Получить подмодули
Затем вам нужно обновить ваши подмодули, чтобы они соответствовали измененному файлу .gitmodules. Для этого выполните следующую команду в терминале:

git submodule sync

Шаг 3: Перенести подмодули в репозиторий
Теперь вам нужно перенести фактические файлы подмодулей из их текущих местоположений в новые директории в вашем репозитории. Для этого выполните следующую команду:

git submodule init
git submodule update

Эти команды приведут к загрузке подмодулей согласно текущим настройкам файлов .gitmodules.

Шаг 4: Подтвердить изменения
После перемещения подмодулей в новые директории и обновления файлов .gitmodules необходимо зафиксировать эти изменения в вашем репозитории. Для этого выполните следующие команды:

git add .gitmodules
git add new_submodule_directory (замените "new_submodule_directory" на путь к новой директории подмодуля)

git commit -m "Перенос подмодуля в новую директорию"

Шаг 5: Удаление старых подмодулей
После переноса подмодулей в ваш репозиторий вы можете удалить старые подмодули окончательно. Для этого выполните следующую команду:

git rm -r old_submodule_directory (замените "old_submodule_directory" на путь к старой директории подмодуля)

После этой команды старые подмодули будут удалены из вашего репозитория.

Шаг 6: Закрепить изменения
Наконец, закрепите изменения, связанные с удалением старых подмодулей, выполните следующую команду:

git commit -m "Удаление старых подмодулей"

После этого ваш репозиторий будет содержать новые директории подмодулей, а старые подмодули будут удалены окончательно.

Обратите внимание, что при переходе подмодулей в ваш репозиторий могут возникнуть проблемы сопряжения или конфликты слияния. Рекомендуется предварительно создать резервные копии репозитория, чтобы предотвратить потерю данных или непредвиденные проблемы. Также убедитесь, что ваш репозиторий имеет достаточно места для хранения новых подмодулей.