Могу ли я "деинициализировать" подмодуль git? - PullRequest
0 голосов
/ 01 мая 2019

Я разрабатываю для встраиваемого проекта, в котором в качестве подмодуля используется исходное дерево Linux.В настоящее время я работаю на машине, не предназначенной для разработки, поэтому никогда не буду строить с этим репозиторием;это просто для справки.

В какой-то момент я инициализировал подмодуль linux (добавив около 2,5 ГБ данных), но теперь я хочу обратить процесс вспять, оставив подмодуль linux неинициализированным в этом хранилище.Чтобы было ясно, я не хочу регистрировать какие-либо изменения в подмодуле, если это касается Git;Я просто хочу вернуть дисковое пространство.

Как я могу это сделать?Я мог бы удалить каталоги ./linux и .git/modules/linux, чтобы избавиться от всех ненужных данных, но я подозреваю, что это оставит git праведно запутанным и раздраженным.

1 Ответ

2 голосов
/ 01 мая 2019

Первые три шага из следующего - как вы навсегда удаляете подмодуль; четвертый шаг говорит git восстановить модуль, но не повторно инициализировать его.

1) Удалить запись субмодуля из .git / config:
git submodule deinit -f path/to/submodule

2) Удалите хранилище субмодулей из каталога .git / modules суперпроекта:
rm -rf .git/modules/path/to/submodule

3) Удалите каталог подмодуля, расположенный в пути / к / подмодулю:
git rm -f path/to/submodule

4) Скажите git отказаться от удаления субмодуля; он вернет модуль в неинициализированное состояние, оставив его без каких-либо изменений:
git checkout -- .

Источник

...