Как удалить историю коммитов внутри подмодуля git?

#git #github

#git #github

Вопрос:

У меня есть проект git (с исходными файлами = файлами markdown, опубликованными с помощью hugo) с подмодулем (связанным с папкой «public /» и содержащим только некоторые сгенерированные файлы (которые затем публикуются на страницах github через специальный проект github)).

 HOME : 
  .git/
  .gitmodules
  content/
  public/ -> linked to a submodule (no .git folder)
  

Подмодуль был добавлен через git submodule add -b slides <URL> public (за: https://gohugo.io/hosting-and-deployment/hosting-on-github /)

Все работает нормально (я могу фиксировать и отправлять исходные файлы и / или автоматически сгенерированные файлы отдельно).

Но у меня растет история коммитов для содержимого папки подмодуля (опубликованной в специальном проекте). Более того, это на 100% бесполезно (постоянно генерируется автоматически).

Итак, есть ли способ легко удалить все эти коммиты из подмодуля и только из него?

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

1. Если вам не нужна история, не используйте подмодуль.

Ответ №1:

Подмодуль является локальным клоном целевого репозитория.
Его база данных git хранится под .git/modules/<modulename> (вместо .git каталога под public/ ).

Итак :

  1. короткий ответ: «нет, простого способа нет»
  2. если вы хотите сохранить его как подмодуль: вы можете попробовать создать определенную ветку в базовом репозитории, которая сохраняла бы только некоторые выбранные коммиты из основной ветки
  3. если вы можете позволить себе отказаться от зависимости как подмодуля: вы можете изучить другие способы интеграции этого внешнего репозитория ( git subtree например)

В общем, я не уверен, что 2. или 3. стоят усилий в вашей ситуации.