Удаление модулей git

Очень часто возникает проблемная ситуация. Вам нужно удалить модуль из своего git репозитория, который вы добавили по ошибке, или который Вам больше не нужен.

В гите на настоящий момент нет удобного способа это сделать. Я нашёл в интернете описание, как удалить модуль, но делать это каждый раз очень муторно. Я сделал лёгкий php скрипт, который может помочь в этом. Ниже приведён код php скрипта для удаления подмодуля

<?php

$pathToSubmodule = $argv[1];

exec("git rm --cached $pathToSubmodule");
exec("rm -rf $pathToSubmodule");
exec("git commit -m 'remove $pathToSubmodule'");
exec("rm -rf .git/modules/$pathToSubmodule");
exec("git config -f .gitmodules --remove-section submodule.$pathToSubmodule");
exec("git config -f .git/config --remove-section submodule.$pathToSubmodule");

Создаём в корне проекта файл remove-submodule.php с этим содержимым и запустить через командную строку. Допустим модуль лежит в папке packages/mySubmodule. Тогда команда будет такая: php remove-submodule.php packages/mySubmodule