Как я сквошу все коммиты, не теряя подмодулей?

Мне нравятся ответы от Как раздавить все git в одном?.

Однако я получаю конфликты слияния, если I:

git rebase --root -i

с выбором и сквошем, как было предложено.

И я теряю свои подмодули (у меня 5), когда я

rm -rf .git
git init
git add .

Каков наиболее эффективный способ сквоить всю историю и сохранить мои подмодули в их текущих каталогах на их нынешнем шаре.

Ответы

Ответ 1

Попробуйте git reset --soft SHAOFFIRSTCOMMIT, а затем git commit --amend

Первая команда сбрасывает текущую ветвь на первую фиксацию, но текущий индекс keepsmthe и вторая команда фиксируют текущий индекс в последнем фиксации.