↓Перейти к содержанию
  1. Git: руководства и команды/

Как удалить проект в GitLab: пошаговая инструкция

··4 минуты·

Удалить проект в GitLab можно через Settings или API. Важно понимать последствия: на GitLab.com есть период отложенного удаления (7 дней), в течение которого проект можно восстановить. При self-hosted GitLab настройки могут отличаться.

Требования для удаления #

Удалить проект может только владелец (Owner). Maintainer не имеет права удалять проекты:

Необходимые права: Owner (access_level = 50)

Если вы не Owner:
- Settings → Members → проверить свою роль
- Попросить Owner удалить проект или повысить роль

Создать резервную копию перед удалением #

Рекомендуется сохранить копию репозитория перед удалением:

# Клонировать репозиторий со всеми ветками и тегами
git clone --bare [email protected]:username/project.git

# bare-клон сохраняет всю историю, ветки и теги
# Папка project.git содержит полный репозиторий

# Для будущего восстановления:
cd project.git
git bundle create ../project-backup.bundle --all

# Восстановить из bundle:
git clone project-backup.bundle restored-project

Удаление проекта через веб-интерфейс #

1. Открыть проект на GitLab

2. Перейти в Settings → General

3. Раскрыть раздел "Advanced"

4. Прокрутить вниз до "Delete project"

5. Нажать кнопку "Delete project"

6. В диалоге ввести:
   - Имя проекта (точно как оно указано)
   - Пароль аккаунта GitLab

7. Нажать "Yes, delete project"

На GitLab.com проект не удаляется мгновенно — включается период отложенного удаления (7 дней).

Отложенное удаление на GitLab.com #

GitLab.com использует политику отложенного удаления (Delayed Project Deletion):

После нажатия "Delete project":
- Проект помечается как "pending deletion"
- Он недоступен для новых операций
- Через 7 дней удаляется окончательно

В течение 7 дней можно восстановить:
1. Manage → Projects → Deleted projects
   (или Admin Area → Projects → Deleted projects)
2. Найти проект в списке
3. Нажать "Restore"

После 7 дней — восстановление невозможно без резервной копии.

Удаление проекта через GitLab API #

# Узнать ID проекта
curl --header "PRIVATE-TOKEN: <your_token>" \
  "https://gitlab.com/api/v4/projects?search=project-name" | \
  python3 -m json.tool | grep '"id"'

# Удалить проект по ID
curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_token>" \
  "https://gitlab.com/api/v4/projects/<project_id>"

# Удалить проект по namespace/path
curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_token>" \
  "https://gitlab.com/api/v4/projects/username%2Fproject-name"
# (слэш в пути кодируется как %2F)

API-удаление также подпадает под политику отложенного удаления.

Восстановление удалённого проекта #

Если проект был удалён и прошло не более 7 дней (GitLab.com):

Способ 1: через интерфейс
1. Меню слева → Explore → Projects
   или Admin Area → Projects (для администраторов)
2. Фильтр "Deleted"
3. Найти нужный проект
4. Нажать "Restore"

Способ 2: через API
curl --request POST \
  --header "PRIVATE-TOKEN: <your_token>" \
  "https://gitlab.com/api/v4/projects/<project_id>/restore"

Отключить локальный репозиторий от удалённого #

После удаления проекта на GitLab, если у вас остался локальный клон:

# Проверить текущие remote
git remote -v
# origin  [email protected]:username/deleted-project.git (fetch)

# Убрать ссылку на удалённый репозиторий
git remote remove origin

# Теперь локальная история сохранена, но нет remote
git remote -v
# (пустой вывод)

# Можно подключить к новому репозиторию
git remote add origin [email protected]:username/new-project.git
git push -u origin main

Удаление группы проектов #

Если нужно удалить группу (и все проекты в ней):

1. Открыть группу
2. Settings → General
3. Раздел "Advanced"
4. "Remove group"
5. Ввести имя группы для подтверждения

Внимание: удаляются ВСЕ проекты в группе и подгруппы

Перед удалением группы проверьте список проектов: Group → Projects.

Мягкое удаление (архивирование) как альтернатива #

Если проект больше не нужен для работы, но нужно сохранить историю:

Settings → General → Advanced → Archive project

Результат:
- Проект переходит в read-only режим
- Не появляется в стандартных поисках
- История и код сохранены
- Можно разархивировать в любой момент

Архивирование — более безопасная альтернатива удалению для случаев, когда проект может понадобиться в будущем.

Практические примеры #

# Сохранить backup перед удалением
git clone --bare [email protected]:username/project.git project-backup.git
tar -czf project-backup.tar.gz project-backup.git

# Проверить backup
git -C project-backup.git log --oneline | head -20

# Удалить через API с токеном
PROJECT_ID=12345
TOKEN="your_private_token"

curl --request DELETE \
  --header "PRIVATE-TOKEN: $TOKEN" \
  "https://gitlab.com/api/v4/projects/$PROJECT_ID"

# Проверить статус удаления
curl --header "PRIVATE-TOKEN: $TOKEN" \
  "https://gitlab.com/api/v4/projects/$PROJECT_ID" | \
  python3 -m json.tool | grep -E '"id"|"name"|"marked_for_deletion"'

# Восстановить удалённый проект через API
curl --request POST \
  --header "PRIVATE-TOKEN: $TOKEN" \
  "https://gitlab.com/api/v4/projects/$PROJECT_ID/restore"

Часто задаваемые вопросы #

Можно ли восстановить проект после удаления? На GitLab.com — да, в течение 7 дней через раздел удалённых проектов. После 7 дней — только из резервной копии. При self-hosted GitLab настройки периода удаления может изменить администратор.

Удаляются ли Issues и MR при удалении проекта? Да, всё удаляется: репозиторий, история, Issues, Merge Requests, вики, Container Registry.

Что происходит с форками при удалении исходного проекта? Форки продолжают работать независимо. GitLab не удаляет форки при удалении исходного проекта.

Как удалить один из нескольких проектов в группе, не затрагивая другие? Удаляйте через Settings проекта (не группы). Удаление группы удаляет всё внутри.

Нужно ли как-то закрыть Issues перед удалением? Нет, это необязательно. Issues, MR и все данные удалятся вместе с проектом автоматически.

Можно ли удалить проект если он форкнут другими? Да. Удаление исходного проекта не удаляет форки. Форки становятся независимыми репозиториями.

Заключение #

Удалить проект в GitLab: Settings → General → Advanced → Delete project, ввести имя и пароль. На GitLab.com проект можно восстановить в течение 7 дней. Перед удалением создайте backup через git clone --bare. Для временного скрытия без удаления — используйте архивирование. Как переименовать проект вместо удаления — переименование проекта в GitLab.