Удаление репозитория

We use cookies. Read the Privacy and Cookie Policy

Случается, что история репозитория нарушается и вы не знаете, как ее восста­новить. Если это произойдет, для начала обратитесь за помощью методами, ­описанными в приложении В. Если исправить ошибку не удалось, а вы работаете над проектом в одиночку, продолжайте работать с файлами, но сотрите историю проекта, удалив каталог .git. Это не повлияет на текущее состояние файлов, но приведет к удалению всех закреплений, так что вы потеряете возможность извлекать другие состояния проекта.

Для этого либо откройте программу для работы с файлами и удалите репозиторий .git, либо сделайте это в командной строке. После этого необходимо создать новый репозиторий, чтобы снова отслеживать изменения в проекте. Вот как выглядит весь процесс в терминальном сеансе:

(1) git_practice$ git status

# On branch master

nothing to commit, working directory clean

(2)git_practice$ rm -rf .git

(3)git_practice$ git status

fatal: Not a git repository (or any of the parent directories): .git

(4)git_practice$ git init

Initialized empty Git repository in git_practice/.git/

(5)git_practice$ git status

# On branch master

#

# Initial commit

#

# Untracked files:

# (use "git add <file>..." to include in what will be committed)

#

# .gitignore

# hello_world.py

#

nothing added to commit but untracked files present (use "git add" to track)

? git_practice$ git add .

git_practice$ git commit -m "Starting over."

[master (root-commit) 05f5e01] Starting over.

2 files changed, 2 insertions(+)

create mode 100644 .gitignore

create mode 100644 hello_world.py

? git_practice$ git status

# On branch master

nothing to commit, working directory clean

git_practice$

Сначала мы проверяем статус и видим, что рабочий каталог чист (1) . Затем команда rm -rf .git (rmdir /s .git в Windows) удаляет каталог .git (2). При проверке статуса после удаления каталога .git выдается сообщение об отсутствии репозитория Git (3). Вся информация, используемая Git для отслеживания репозитория, хранится в каталоге .git, поэтому его удаление приводит к уничтожению всего репозитория.

Тогда мы можем использовать команду git init для создания нового репозитория (4). Проверка статуса показывает, что все вернулось к исходному состоянию, ожидая первого закрепления (5). Мы добавляем файлы и выполняем первое закрепление ?. Теперь проверка статуса показывает, что проект находится в новой ветви master, а закреплять пока нечего ?.

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