Пошаговое руководство

Введение

В жизненном цикле программного проекта бывают периоды, когда желательно или даже необходимо начинать заново. В этой статье рассматривается один из таких сценариев — удаление всех коммитов из вашего репозитория Git и создание новой основной ветки. Это руководство шаг за шагом проведет вас через весь процесс с иллюстрациями кода и инструкциями.

Шаг 1. Подтвердите свою текущую ветку

Прежде чем вносить какие-либо изменения, вы должны убедиться, что находитесь в правильной ветке. Используйте команду ниже, чтобы проверить текущую ветку:

git branch

Если вы находитесь не на веткеmain (или ветке, которую собираетесь очистить), используйте следующую команду, чтобы переключиться на нее:

git checkout main

Шаг 2: Создайте новую ветку без истории

Опция — orphan в Git позволяет создать новую ветку без какой-либо истории. Команда ниже создает новую ветку с именем new_branch:

git checkout --orphan new_branch

Шаг 3: Добавьте и зафиксируйте файлы в новой ветке

На этом этапе ваша промежуточная область Git все еще содержит файлы из вашей ветки main. Однако эти файлы не станут частью new_branch’s истории. Если вы хотите сохранить эти файлы (без их истории), вы можете зафиксировать их в new_branch:

git add -A
git commit -m “Initial commit”

Шаг 4: Удалите старую ветку

Теперь, когда текущее состояние вашего проекта сохранено в new_branch, вы можете безопасно удалить ветку main:

git branch -D main

Шаг 5: переименуйте новую ветку

Удалив старый main, теперь вы можете переименовать new_branch в main:

git branch -m main

Шаг 6. Принудительная отправка в удаленный репозиторий

Чтобы заменить ветку main в удаленном репозитории, вам нужно принудительно отправить изменения:

git push -f origin main

Обратите внимание на эту операцию! Он полностью сотрет историю ветки main в удаленном репозитории, заменив ее единственным коммитом, сделанным вами в new_branch. Это не может быть отменено. Форсируйте отправку только в том случае, если вы уверены, что никто другой не использует ветку main, или если вы согласовали это со всеми, кто использует.

Шаг 7: Установите новую ветвь как восходящую

После того, как вы создали новую основную ветку и отправили свои изменения в удаленный репозиторий, следующим шагом будет установка этой новой ветки в качестве восходящей ветки. Это гарантирует, что при выполнении git push или git pull в будущем Git точно будет знать, с какой веткой синхронизироваться.

Для этого используйте команду git push — set-upstream origin branch-name, заменив branch-name именем вашей новой ветки. В нашем случае, поскольку мы назвали новую ветку основной, команда будет выглядеть так:

git push --set-upstream origin main

Параметр —set-upstream в команде указывает Git связать вашу локальную основную ветку с удаленной основной веткой. Эта ссылка гарантирует, что будущие изменения можно легко синхронизировать с помощью простого git push или git pull.

Заключение

Следуя этому пошаговому руководству, вы теперь сможете уверенно удалить историю репозитория Git и создать новую основную ветку. Однако не забывайте проявлять осторожность при работе с историей Git. Прежде чем вносить существенные изменения, всегда рекомендуется сделать резервную копию вашего репозитория. Удачного кодирования!