Skip to main content

Как удалить историю GIT

1. Создайте новый начальный коммит:

  • Переключитесь на новую ветку без истории:
    bash git checkout --orphan new-branch
  • Добавьте все файлы в новый коммит:
    bash git add -A
  • Создайте начальный коммит:
    bash git commit -m "Начальный коммит"

2. Удалите старую ветку main:

  • Удалите текущую ветку main:
    bash git branch -D main

3. Переименуйте новую ветку в main:

  • Переименуйте новую ветку (new-branch) в main:
    bash git branch -m main

4. Принудительно отправьте изменения в удаленный репозиторий:

  • Принудительно замените историю в удаленном репозитории:
    bash git push -f origin main

5. Очистите локальный репозиторий (опционально):

Если вы хотите очистить локальный репозиторий от старой истории, выполните:

   git reflog expire --expire=now --all
   git gc --prune=now --aggressive

6. Обновите локальный репозиторий (если необходимо):

Если у вас есть другие клоны репозитория, обновите их:

   git fetch --all
   git reset --hard origin/main

Важно:

  • Это действие необратимо: после удаления истории коммитов восстановить их будет невозможно.
  • Уведомите коллег: если вы работаете в команде, убедитесь, что все участники знают о предстоящих изменениях, так как это может повлиять на их локальные репозитории.

Теперь ваш удаленный репозиторий будет содержать только один коммит с текущим состоянием проекта.