Если нужно удалить Git tracking (версионирование), правильно ли просто удалить папку .git/ ?
Ответ
В этом ответе:
Какие файлы и директории относятся к Git
Как удалить версионирование Git
Unix, Windows + git bash
Windows, cmd.exe
Windows, проводник
Как получить новую копию проекта без версионирования
1. Какие файлы и директории относятся к Git
Git хранит историю и настройки в папках .git и файлах .git.... Обязательно существует только папка .git, находящаяся в корне вашего проекта. Если в нём есть субмодули, то в наличии есть также файл .gitmodules в корне и файлы .git где-то во вложенных папках.
project/
- .git/
- .gitmodules
- .gitignore
- .gitattributes
- пустая-папка/
- .gitkeep
- ещё-папка/и-ещё/внутри/
- .git
- .gitignore
- тут-файлы-и-папки-субмодуля
2. Как удалить версионирование Git
Unix-совместимые системы, Windows c git bash или cygwin:
Убедитесь, что вы находитесь в корне проекта!
cd path/to/project
find . -name ".git*" | xargs rm -ri
С ключом -i эта команда будет работать в интерактивном режиме и запросит подтверждение на удаление каждого файла. Спасибо KoVadim за улучшенный вариант первоначальной команды.
Windows, cmd.exe
(взято c en.SO )
cd path\to\project
del /F /S /Q /A .git
rmdir .git
Windows, через проводник
Включите отображение скрытых файлов и папок
Откройте папку своего проекта, найдите поле поиска:
Введите там filename:.git, дождитесь окончания поиска:
Заметьте, что другие виды поиска работают хуже: name:.git включает файлы наподобие source.git.cs, ext:.git не включает каталог .git, просто .git включает медленный и ненужный поиск по содержимому файлов
Теперь вы можете выбрать файлы, относящиеся к git, и удалить (скорее всего, это будут все найденные файлы). Перепроверить, однако, не помешает никогда.
3. Как получить новую копию проекта без версионирования
Возможно, вам нужно просто получить копию проекта, в которой нет версионирования. Для этого отлично подходит git-archive:
git archive master --format zip --output path/to/archive.zip
Полученный archive.zip можно передать и где-то распаковать, получив новый проект без версионирования.
Субмодули таким образом не упакуются.
Комментариев нет:
Отправить комментарий