Очистить старое git-репо, удалив диапазон коммитов - PullRequest
0 голосов
/ 01 июля 2018

Я начал работать над проектом со старым и очень большим репо, около 1.1GB

Я сделал полный клон из исходного репо в другое репо и назвал его original-repo

Проект будет продолжаться только в определенной части, а все остальные части устарели, поэтому все коммиты и ветви от начального коммита (7e48a70) до конкретного коммита (222b1f3) бесполезны. И чтобы сделать репо чистым, мне нужно удалить все эти коммиты и все ветки, кроме главного, и переписать историю рабочего репо.

Я искал и читал много тем, использовал много скриптов и команд, установил некоторые приложения Git GUI, но не смог удалить коммиты и ветки, чтобы очистить и уменьшить размер репо. Размер репо по-прежнему 1.1GB.

Любая помощь будет очень признательна.

1 Ответ

0 голосов
/ 01 июля 2018

Если вы хотите сохранить журнал фиксации, попробуйте

git revert "HEAD^"

В противном случае вы можете попробовать программный / жесткий сброс

git reset --soft "HEAD^"

git reset --hard "HEAD^"

Пожалуйста, прочитайте Разница между мягким, смешанным и полным сбросом в случае возникновения путаницы.

Вы также можете удалить удаленную ветку, используя

git push origin --delete <branch_name>

Редактировать

Вы можете отменить изменения между двумя коммитами, используя

git revert commit_id1..commit_id2
...