Удаление репозитория Git из проекта
Удалите неиспользуемые репозитории Git из проекта, когда они больше не нужны. В этой статье показано, как удалить репозиторий Git из проекта Azure DevOps. Если вы хотите удалить весь проект, см. раздел Удаление проекта.
Невозможно удалить репозиторий, если это единственный репозиторий Git в проекте Azure DevOps. Если необходимо удалить единственный репозиторий Git в проекте, сначала создайте новый репозиторий Git , а затем удалите его.
Предварительные требования
- Для удаления репозитория из проекта необходимо иметь разрешения на удаление репозитория .
Если вы хотите использовать команду azure DevOps CLI az repos delete , выполните действия, описанные в статье Начало работы с Azure DevOps CLI.
Удаление репозитория Git из Интернета
Вместо того чтобы удалять репозиторий, рекомендуется переименовать его и заблокировать его ветвь по умолчанию. Журнал фиксаций репозитория будет потерян при его удалении.
- Выберите Репозитории, Файлы.

- В раскрывающемся списке репозитория выберите Управление репозиториями.

- Выберите имя репозитория в списке Репозитории , выберите меню . , а затем выберите Удалить репозиторий.

- Подтвердите удаление репозитория, введя имя репозитория и выбрав Удалить.

- Щелкните значок параметров в Интернете, чтобы открыть страницу администрирования проекта, и выберите Управление версиями.

- Выберите репозиторий Git, который нужно удалить из показанного списка, и выберите . рядом с именем. Выберите Удалить репозиторий.


Примечание Если панель Репозитории не развернута, выберите > , чтобы развернуть ее, и отобразите список репозиториев.

Для удаления репозитория Git Azure DevOps можно использовать Azure DevOps CLI.
az repos delete --id [--detect ] [--org] [--project] [--subscription] [--yes]
Параметры
| Параметр | Описание |
|---|---|
| id | Идентификатор репозитория. Идентификатор репозитория можно получить, выполнив команду az repos list . |
| detect | Автоматическое обнаружение организации. Допустимые значения: false , true . |
| org , organization | URL-адрес организации Azure DevOps. Вы можете настроить организацию по умолчанию с помощью az devops configure -d organization= . Требуется, если не настроено по умолчанию или выбрано с помощью конфигурации Git. Пример: https://dev.azure.com/MyOrganizationName/ . |
| project , p | Имя или идентификатор проекта. Проект по умолчанию можно настроить с помощью az devops configure -d project= . Требуется, если не настроено по умолчанию или выбрано с помощью конфигурации Git. |
| subscription | Имя или идентификатор подписки Подписку по умолчанию можно настроить с помощью az account set -s . |
| yes | Не запрашивайте подтверждение. |
Пример
Следующая команда удаляет репозиторий Fabrikam с идентификатором 0d58f562-4a10-495d-94d7-7ac61a22d7cc . В этом примере используется следующая конфигурация по умолчанию: az devops configure —defaults organization=https://dev.azure.com/fabrikamprime project=»Fabrikam Fiber» .
az repos delete --id 0d58f562-4a10-495d-94d7-7ac61a22d7cc Are you sure you want to delete this repository? (y/n): y
Команды Azure DevOps CLI не поддерживаются для Azure DevOps Server локальной среде.
Как отменить git init в уже существующем репозитории?
В папке с git-ом случайно нажал на git init , в итоге теперь когда делаю git status у меня все файлы отображаются как измененные. В git log последние коммиты остались. Как отменить действие команды git init ?
Отслеживать
20.2k 6 6 золотых знаков 37 37 серебряных знаков 81 81 бронзовый знак
задан 4 июн 2015 в 14:19
899 5 5 золотых знаков 12 12 серебряных знаков 30 30 бронзовых знаков
Да удалите каталог .git , который создаёт git init .
4 июн 2015 в 14:24
@klopp и потерять всю историю? Хмм, а вообще командой git init можно затереть какие-либо файлы git-а?
4 июн 2015 в 14:26
Нет, затереть какие-либо файлы нельзя, git init — команда идемпотентная. Связанный вопрос: Как правильно удалить Git tracking (контроль версий)?
22 июн 2017 в 3:31
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Если просто случайно создали репозиторий, то нужно удалить папку .git в корне. Это полностью уничтожит репозиторий и, разумеется, отменит то, что сделал git init . Через *nix-консоль это делается так:
rm -r .git
Если же Вы сделали git init в уже существующем репозитории, то бояться нечего:
Running git init in an existing repository is safe. It will not overwrite things that are already there. The primary reason for rerunning git init is to pick up newly added templates (or to move the repository to another place if —separate-git-dir is given).
Отслеживать
33.9k 25 25 золотых знаков 130 130 серебряных знаков 222 222 бронзовых знака
ответ дан 4 июн 2015 в 15:33
23.8k 3 3 золотых знака 47 47 серебряных знаков 61 61 бронзовый знак
то что нужно. спасибо за ответ)
5 июн 2015 в 6:50
познавательно, спасибо
22 июн 2017 в 3:36
Судя по описанию, команда git init была выполнена не в корневой директории проекта, а в одной из вложенных. В таком случае всё, что внутри этой вложенной директории, изнутри нее считается новым репозиторием (а снаружи — старым).
При выполнении любой команды Git в некоторой директории происходит рекурсивный поиск репозитория снизу вверх. Т.е. проверяется текущая директория, потом ее родитель, потом родитель родителя и т.д. Как только находится директория .git , дальнейший поиск прекращается.
Предположим, у нас есть такая структура. В корневой директории проекта A инициализирован репозиторий Git.
A |-.git |-A/B |-A/C |-A/C/X |-A/C/Y |-A/C/Z |-A/D
Теперь мы инициализируем новый репозиторий в директории A/C :
$ cd C $ git init A |-.git |-A/B |-A/C |-.git |-A/C/X |-A/C/Y |-A/C/Z |-A/D
Теперь наблюдаем следующую картину:
При выполнении любой команды Git из директорий A , A/B , A/D , обнаруживается репозиторий в директории A .
При выполнении любой команды Git из директории A/C и вложенных, обнаруживается репозиторий в директории С . Поскольку он только что создан, все файлы отображаются как новые.
Чтобы исправить ситуацию, достаточно удалить .git из директории A/C :
$ rm -rf A/C/.git
Как удалить git из проекта

Git – это распределенная система контроля версий, которая позволяет отслеживать изменения в проекте, вносить правки и сохранять историю изменений. Однако, есть ситуации, когда Git больше не нужен в проекте и его нужно удалить. Удаление Git может потребоваться, к примеру, если вы хотите начать работать с другой системой контроля версий, или если вы планируете перенести проект на другой хостинг. В этой статье мы расскажем, как правильно удалить Git из проекта.
Шаг 1: Закрыть все открытые Git-репозитории
Прежде чем удалить Git из проекта, убедитесь, что все репозитории закрыты. Если у вас открыты какие-то файлы в репозитории, закройте их перед удалением Git. Это важно, чтобы избежать возможных ошибок и потери данных.
Шаг 2: Удалить скрытую папку .git
Git хранит все свои данные в скрытой папке .git, которая располагается в корневом каталоге проекта. Чтобы удалить Git из проекта, вам необходимо удалить эту папку. Перейдите в корневой каталог проекта и удалите скрытую папку .git.
Подготовка
Перед тем, как начать удаление Git из проекта, необходимо выполнить ряд предварительных шагов:
- Создайте резервную копию проекта: перед удалением Git из проекта рекомендуется создать резервную копию, чтобы в случае ошибки или проблем можно было вернуться к предыдущей версии проекта.
- Убедитесь в наличии всех необходимых файлов: перед удалением Git проверьте, что у вас есть все необходимые файлы проекта, так как удаление Git также удалит историю изменений. Проверьте, что все изменения сохранены и не потеряются.
- Закройте все программы, которые могут использовать репозиторий Git: убедитесь, что все программы, которые могут использовать репозиторий Git (например, командная строка, редакторы кода и т. д.), закрыты перед удалением Git.
После выполнения этих предварительных шагов вы готовы начать удаление Git из проекта.
Шаг 1: Создание резервной копии
Прежде чем удалить Git из проекта, рекомендуется создать резервную копию репозитория. Это позволит сохранить все изменения, которые были сделаны до удаления Git.
Создание резервной копии репозитория можно выполнить следующими способами:
- Скопировать весь проект в другую директорию или на внешний накопитель.
- Создать ZIP-архив с файлами проекта.
- Воспользоваться Git командой «git archive» для создания архива проекта:
git archive --format zip --output archive.zip master
В данном случае, команда создаст архив с именем «archive.zip», содержащий все файлы проекта из ветки «master».
После того как вы создали резервную копию проекта, вы можете приступить к удалению Git из проекта согласно следующим шагам.
Удаление Git
Если вам больше не нужна система управления версиями Git в вашем проекте, следуйте этим шагам, чтобы удалить Git.
- Создайте резервную копию проекта
Перед удалением Git рекомендуется создать резервную копию проекта, чтобы предотвратить потерю данных. Скопируйте папку с проектом в другое место. - Удалите папку .git
Git хранит все свои файлы и данные в папке .git в корневой папке проекта. Удалите эту папку, чтобы полностью удалить Git. - Удалите ссылки на Git в вашем проекте
В некоторых случаях ссылки на Git могут оставаться в вашем проекте, например, если вы использовали интеграцию с каким-либо инструментом разработки. Удалите такие ссылки вручную.
После выполнения этих шагов Git будет полностью удален из вашего проекта и его история коммитов больше не будет доступна. Убедитесь, что вы действительно хотите удалить Git, так как этот процесс нельзя отменить.
Шаг 2: Отключение Git
После удаления всех коммитов и истории Git, необходимо отключить саму систему контроля версий Git. Для этого следует выполнить следующие шаги:
- Откройте командную строку или терминал в корневой папке проекта.
- Введите команду git rev-parse —is-inside-work-tree и нажмите Enter. Если в ответ будет выведено true, значит Git еще активен в проекте.
- Для отключения Git введите команду rm -rf .git и нажмите Enter. Эта команда удалит папку .git, которая содержит все данные Git.
- После выполнения команды, Git будет полностью удален из вашего проекта. Теперь проект не будет связан с Git и не будет иметь истории коммитов.
Не забудьте создать новый репозиторий Git или подключить к проекту уже существующий репозиторий, если вы все же хотите продолжить использование Git для управления версиями вашего проекта.
Вопрос-ответ
Что такое Git и зачем его удалять из проекта?
Git — это система контроля версий, которая позволяет отслеживать изменения в коде проекта. Подчас может возникнуть потребность удалить Git из проекта, например, если вы хотите начать работу с другой системой контроля версий или просто очистить проект от всех коммитов и истории изменений.
Как удалить Git из проекта на Windows?
Для удаления Git из проекта на Windows вам нужно выполнить следующие шаги: 1. Открыть папку проекта в проводнике и зайти в папку «.git». 2. Удалить всю содержимое папки «.git». 3. Перейти в командную строку и выполнить команду «git init», чтобы создать новый репозиторий в папке проекта без истории изменений.
Как удалить Git из проекта на Mac?
Для удаления Git из проекта на Mac вам нужно выполнить следующие шаги: 1. Открыть терминал и перейти в папку проекта. 2. Ввести команду «ls -a» чтобы увидеть скрытые файлы и папки, включая папку «.git». 3. Удалить папку «.git» с помощью команды «rm -rf .git». 4. Выполнить команду «git init», чтобы создать новый репозиторий без истории изменений.
Как удалить Git из проекта с использованием командной строки?
Чтобы удалить Git из проекта с использованием командной строки, вам нужно выполнить следующие шаги: 1. Открыть терминал и перейти в папку проекта. 2. Ввести команду «ls -a» чтобы увидеть скрытые файлы и папки, включая папку «.git». 3. Удалить папку «.git» с помощью команды «rm -rf .git». 4. Выполнить команду «git init», чтобы создать новый репозиторий без истории изменений.
Есть ли способ удалить Git из проекта без удаления исходных файлов?
Да, существует способ удалить Git из проекта без удаления исходных файлов. Для этого вы можете просто удалить папку «.git» внутри вашего проекта, которая содержит всю историю изменений и файлы Git. Однако, убедитесь, что вы имеете резервную копию вашего проекта перед удалением Git, чтобы не потерять исходные файлы.
git rm
В начале использования Git часто возникает вопрос: «Как заставить Git больше не отслеживать какой-либо файл или несколько файлов?» Чтобы удалить файлы из репозитория Git, можно воспользоваться командой git rm . Ее действие противоположно действию git add.
Обзор команды git rm
Команда git rm позволяет удалять отдельные файлы или группы файлов. Основное назначение git rm — удаление отслеживаемых файлов из раздела проиндексированных файлов Git. Кроме того, с помощью git rm можно удалить файлы одновременно из раздела проиндексированных файлов и рабочего каталога. Удалить с ее помощью файл только из рабочего каталога нельзя. Файлы, в отношении которых выполняется команда, должны быть идентичны файлам в текущем указателе HEAD . В случае расхождений между версией файла из указателя HEAD и версией из раздела проиндексированных файлов или рабочего дерева Git заблокирует удаление. Такая блокировка является механизмом безопасности, который предотвращает удаление изменений в процессе их внесения.
Обратите внимание, что git rm не удаляет ветки. Подробнее об использовании веток Git см. здесь.
Использование
Указывает файлы, подлежащие удалению. Можно указать один файл, несколько файлов через пробел ( file1 file2 file3 ) или шаблон подстановки ( ~./directory/* ).
-f
--force
Параметр -f применяется для отключения проверки безопасности, с помощью которой Git обеспечивает соответствие файлов в указателе HEAD текущему содержимому раздела проиндексированных файлов и рабочего каталога.
Связанные материалы
Шпаргалка по Git
СМ. РЕШЕНИЕ
Изучите Git с помощью Bitbucket Cloud
-n
--dry-run
Параметр dry run является защитным механизмом. Он позволяет выполнить пробный запуск команды git rm без удаления файлов. В выходных данных отображаются файлы, которые должны были быть удалены.
Параметр -r — это сокращение от слова recursive. При выполнении команды git rm в рекурсивном режиме она удаляет не только каталог назначения, но и все содержимое его вложенных каталогов.
Параметр разделителя позволяет явным образом отличить список имен файлов от аргументов, передаваемых команде git rm . Разделитель полезен, когда какие-либо из файлов имеют имена, аналогичные параметрам команды.
--cached
Параметр cached указывает, что должны быть удалены только файлы, находящиеся в разделе проиндексированных файлов. Файлы в рабочем каталоге при этом остаются нетронутыми.
--ignore-unmatch
Этот параметр заставляет команду завершиться со статусом sigterm, равным 0, даже если файлы, указанные для удаления, не найдены. Sigterm — это код состояния в Unix. Код 0 указывает на успешный вызов команды. Параметр —ignore-unmatch может быть полезен, если команда git rm используется в составе скрипта оболочки, который должен обеспечивать корректную обработку отказа.
-q
--quiet
Параметр quiet скрывает вывод команды git rm . Как правило, команда выводит по одной строке на каждый удаленный файл.
Отмена изменений, внесенных командой git rm
Изменения, вносимые при выполнении команды git rm , не являются окончательными. Эта команда обновляет раздел проиндексированных файлов и рабочий каталог. Изменения не сохранятся, пока не будет создан новый коммит и они не будут добавлены в историю коммитов. Так что изменения, внесенные командой git rm, можно «отменить» с помощью стандартных команд Git.
git reset HEAD
Команда git reset восстановит раздел индексированных файлов и рабочий каталог до коммита HEAD . В результате изменения, внесенные командой git rm , будут отменены.
git checkout .
Такого же результата можно добиться с помощью команды git checkout: она восстановит последнюю версию файла из указателя HEAD .
Если после выполнения git rm был создан новый коммит, из-за которого удаление сохранилось, можно воспользоваться командой git reflog , чтобы найти ссылку, предшествующую выполнению git rm . Подробнее об использовании git reflog см. здесь.
Пояснения
Аргумент , переданный команде, может содержать точные пути, шаблоны поиска файлов или точные имена каталогов. При выполнении команды удаляются только пути, зафиксированные в репозитории Git посредством коммитов.
В шаблонах поиска файлов можно задавать имена каталогов. При использовании шаблонов поиска следует быть внимательным. Рассмотрим примеры: directory/* и directory* . Использование первого шаблона приведет к удалению всех файлов в каталоге directory/ , тогда как второй вызовет удаление всех каталогов, имя которых начинается на directory — например, directory1 , directory2 , directory_whatever и т. д., что может быть нежелательным.
Область действия команды git rm
Действие команды git rm распространяется только на текущую ветку. Удаление выполняется только в деревьях рабочего каталога и раздела проиндексированных файлов. Удаление файла не сохраняется в истории репозитория до тех пор, пока не создан новый коммит.
Почему следует использовать git rm, а не rm
Репозиторий Git обнаруживает выполнение стандартной команды оболочки rm для отслеживаемого им файла и соответствующим образом обновляет рабочий каталог. Но раздел проиндексированных файлов не обновляется. Чтобы внести в него изменения, для удаленных путей к файлам необходимо дополнительно выполнить команду git add . Команда git rm уменьшает количество действий, поскольку обновляет при удалении и рабочий каталог, и раздел проиндексированных файлов.
Примеры
git rm Documentation/\*.txt
В данном примере шаблон поиска файлов используется для удаления всех файлов *.txt в каталоге Documentation и всех его подкаталогах.
Обратите внимание, что символ звездочки * здесь экранируется символами косой черты. Это сделано, чтобы оболочка не расширяла шаблон. В таком варианте он включает только пути к файлам и подкаталогам, находящимся в каталоге Documentation/ .
git rm -f git-*.sh
В этом примере команда выполняется с параметром force для всех файлов, соответствующих шаблону подстановки git-*.sh . Параметр force явным образом удаляет целевые файлы из рабочего каталога и раздела проиндексированных файлов.
Удаление файлов, которых уже нет в файловой системе
В разделе «Почему следует использовать git rm , а не rm » говорилось о том, что команда git rm предусмотрена для удобства: она сочетает функции стандартной команды оболочки rm и команды git add , позволяя удалить файл из рабочего каталога и раздела проиндексированных файлов. Если удалить несколько файлов с помощью стандартной команды оболочки rm , состояние репозитория может стать проблематичным.
Если требуется записать все явным образом удаленные файлы в следующий коммит, можно выполнить команду git commit -a . Она внесет все события удаления в раздел проиндексированных файлов для подготовки к следующему коммиту.
Если же стоит задача безвозвратно удалить файлы, удаленные с помощью команды оболочки rm , нужно воспользоваться следующей командой:
git diff --name-only --diff-filter=D -z | xargs -0 git rm --cached
Эта команда создаст список удаленных файлов из рабочего каталога и передаст его команде git rm —cached , которая обновит раздел проиндексированных файлов.
Команда git rm: заключение
Команда git rm выполняет действия над двумя главными деревьями управления внутренним состоянием Git: рабочим каталогом и разделом проиндексированных файлов. Команда git rm позволяет удалять файлы из репозитория Git. Это удобный инструмент, объединяющий функции стандартной команды оболочки rm и команды git add : сначала git rm удаляет целевой объект из файловой системы, а затем добавляет событие удаления в раздел проиндексированных файлов. Эта команда — одна из многих, которые можно использовать для отмены изменений в Git.