Как я могу сделать подмодуль git обычной папкой?

#git

#git

Вопрос:

У меня есть проект, в котором есть несколько подмодулей, и я пытаюсь заставить их действовать как обычные папки, а не репозитории. Я удалил .git/ папку в каждом из них, но они по-прежнему действуют как подмодули, и когда я запускаю a git status , они, похоже, не отображаются как неотслеживаемые файлы.

Комментарии:

1. Зачем ты это делаешь?

2. потому что мне нужен «моментальный снимок проекта».

3. Почему это взято в кавычки? Что вы на самом деле имеете в виду ? Что вы делаете со снимком?

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

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

Ответ №1:

Подмодуль необходимо удалить с помощью git rm (это приведет к удалению файлов подмодуля из вашей файловой системы). Затем вы можете клонировать репозиторий подмодуля в свой репозиторий (используя git clone ), удалить каталог .git в каталоге «подмодуля» и git add !

Комментарии:

1. Существует несколько подмодулей, которые я использую. Обычно я клонирую родительский проект, затем запускаю ‘git submodule —init’, чтобы получить файлы подмодулей. Он также устанавливает ЗАГОЛОВОК каждого подмодуля в определенную фиксацию. Так что, если делать это по-своему, клонирование каждого подмодуля отдельно может не указывать им на правильную фиксацию

2. Вы можете выполнить проверку правильной версии внутри каталога перед удалением .git .

3. в этом проблема, если я удалю папку .git, она по-прежнему не отображает папку подмодуля как неотслеживаемый файл

4. Сначала вы полностью удалили подмодуль, используя git rm ?