Удаление локального репозитория в Android Studio
Как в AndroidStudio удалить локальный репозиторий чтобы в результате от него не осталось и следа (удалились логи всех моих комитов). Спасибо.
Отслеживать
задан 2 фев 2017 в 9:32
Viktor Vdovichenko Viktor Vdovichenko
89 1 1 серебряный знак 8 8 бронзовых знаков
а файлы должны остаться?
2 фев 2017 в 9:39
да. проект хочу оставить таким каким он был до добавления в репозиторий локальный.
2 фев 2017 в 9:46
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
- В Studio откройте Settings -> Version Control. Удалите запись о репозитории. Закройте Studio.
- Удалите директорию .git . В ней хранится все о репозитории.
- Запустите Studio опять.
Отслеживать
ответ дан 2 фев 2017 в 9:40
Mikhail Vaysman Mikhail Vaysman
14.2k 1 1 золотой знак 21 21 серебряный знак 31 31 бронзовый знак
да. спасибо. папка .git скрытая. удалил её и получил желаемый результат. А теперь снова делаю в андроид студио: VCS | Import into Version Control | Create Git Repository и получаю VCS root configuration problems
2 фев 2017 в 9:53
я добавил информацию в ответ
2 фев 2017 в 10:02
Спасибо большое. Сработало!
2 фев 2017 в 10:11
- git
- android-studio
- github
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.21.1314
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как в GitHub удалить и восстановить репозиторий
Рассказываем, как выпилить свой гениальный piece of code, который вдруг показался не гениальным, а потом передумать и восстановить его.

Фото: Getty Images

Дмитрий Зверев
Любитель научной фантастики и технологического прогресса. Хорошо сочетает в себе заумного технаря и утончённого гуманитария. Пишет про IT и радуется этому.
Иногда приходится подчищать свой профиль и удалять лишние или по ошибке созданные репы. Однако в интерфейсе GitHub это не самая очевидная операция. Поэтому мы расскажем о трёх основных способах удаления репозиториев: через сайт, через консоль и с помощью десктопного приложения.
Удаляем репозиторий через сайт GitHub
Вообще, это единственный нормальный способ удаления GitHub-репозиториев. Делается это через профиль: нужно зайти на сайт, нажать кнопку «Удалить» и подтвердить удаление. Давайте посмотрим на весь процесс подробнее.
Шаг 1 — находим репозиторий
Для начала нужно зайти в свой профиль и найти репозиторий. Открываем GitHub и слева видим все созданные нами проекты:

Если у вас много репозиториев и вы не нашли нужный на первой же странице, то нажмите на кнопку Show more или перейдите на вкладку Your repositories:

Шаг 2 — переходим в настройки репозитория
Теперь нам понадобится вкладка Settings — она находится чуть правее вкладки Insights:

Пролистываем все настройки до раздела Danger Zone. Зона эта и правда опасная, потому что так можно бесследно удалить всю вашу работу или передать владение репом кому-то ещё. Здесь нам понадобится последняя кнопка — Delete this repository:

Шаг 3 — подтверждаем удаление
После того как вы нажали на кнопку Delete this repository, появится диалоговое окно с подтверждением действия:

Чтобы удалить репозиторий, нужно ввести его полное название — имя вашего аккаунта и проекта. В нашем случае это будет строка DavisWalkers/To_Delete. Вводим её полностью:

Теперь нам доступна кнопка окончательного удаления репозитория — I understand the consequences, delete this repository. Как только вы её нажмёте, проект полностью удалится из вашего профиля. Нажимаем, и нас перебрасывает в сам профиль, а потом появляется уведомление о том, что репозиторий успешно удалён:

Удаляем репозиторий через терминал
Команда разработчиков GitHub решила, что удалять проекты дистанционно через терминал и сторонние приложения — небезопасно. Поэтому они запретили подобные действия. Удалить репозиторий, конечно, можно и так, но при этом удалится только его локальная копия на вашем устройстве — на GitHub он всё так же будет доступен.
Чтобы удалить проект из памяти компьютера, надо перейти в консоли в папку с репозиторием (это можно сделать с помощью команды cd) и удалить из него подпапку .git с помощью команды rm -rf (в консоли Git).

Нас спросят, действительно ли мы хотим удалить репозиторий, а также предложат поместить его в корзину. Ставим галочку и нажимаем кнопку Remove:

Готово — репозиторий полностью удалён с жёсткого диска.
Как восстановить удалённый репозиторий
Если вам нужно вернуть репозиторий после удаления, для этого есть решение. Разработчики GitHub подробно описали, что делать, чтобы восстановить удалённый репозиторий. Правда, сделать это можно только при соблюдении нескольких условий:
- данные удалены не более 90 дней назад;
- удалённый проект был веткой другого репозитория, который в данный момент не пуст;
- вы поняли, что ошиблись, удалив репозиторий .
Второй пункт самый важный. Его можно перефразировать так: у вашего репозитория должен быть репозиторий-родитель. Без этого восстановить его не выйдет.
Для начала заходим в настройки:

Слева находим вкладку Repositories и переходим в неё:

Здесь будет ещё две вкладки — Repositories и Deleted repositories. Переходим во вторую:

В нашем случае требования оказались не выполнены, а значит, восстановить репозиторий не получится:

Но если у вас всё нормально, вы увидите недавно удалённые репозитории:

Нажимаем кнопку Restore и видим следующее окно:

Осталось нажать на кнопку I understand, restore this repository, и он будет восстановлен.
Выводы
- Удалить репозиторий можно только через сайт GitHub. Локально получится выпилить только копию репозитория на своём устройстве.
- Чтобы удалить репозиторий, придётся ввести подтверждение операции. Ну и обязательно несколько раз подумать — вдруг удалять его всё же не стоит.
- Восстановить можно не всякий репозиторий — только тот, у которого есть не пустой репозиторий-родитель и который удалён в последние 90 дней.
Читайте также:
- Инструкция: заливаем проект на GitHub без командной строки
- Тест. Ругайся как Линус Торвальдс
- Что такое GitHub и как им пользоваться
Удаление репозитория
Вы можете удалить любой репозиторий или вилку, если вы являетесь владельцем организации или имеете права администратора для репозитория или вилки. При удалении репозитория, в котором создана вилка, вышестоящий репозиторий не удаляется.
Only members with owner privileges for an organization or admin privileges for a repository can delete an organization repository. If Allow members to delete or transfer repositories for this organization has been disabled, only organization owners can delete organization repositories. For more information, see «Repository roles for an organization.»
Deleting a public repository will not delete any forks of the repository.
Warnings:
- Deleting a repository will permanently delete release attachments and team permissions. This action cannot be undone.
- Deleting a private repository will delete all forks of the repository.
Some deleted repositories can be restored within 90 days of deletion. For more information, see «Restoring a deleted repository.»
- On GitHub.com, navigate to the main page of the repository.
- Under your repository name, click
Settings. If you cannot see the «Settings» tab, select the

dropdown menu, then click Settings.
2.5 Основы Git — Работа с удалёнными репозиториями
Для того, чтобы внести вклад в какой-либо Git-проект, вам необходимо уметь работать с удалёнными репозиториями. Удалённые репозитории представляют собой версии вашего проекта, сохранённые в интернете или ещё где-то в сети. У вас может быть несколько удалённых репозиториев, каждый из которых может быть доступен для чтения или для чтения-записи. Взаимодействие с другими пользователями предполагает управление удалёнными репозиториями, а также отправку и получение данных из них. Управление репозиториями включает в себя как умение добавлять новые, так и умение удалять устаревшие репозитории, а также умение управлять различными удалёнными ветками, объявлять их отслеживаемыми или нет и так далее. В данном разделе мы рассмотрим некоторые из этих навыков.
Примечание
Удалённый репозиторий может находиться на вашем локальном компьютере.
Вполне возможно, что удалённый репозиторий будет находиться на том же компьютере, на котором работаете вы. Слово «удалённый» не означает, что репозиторий обязательно должен быть где-то в сети или Интернет, а значит только — где-то ещё. Работа с таким удалённым репозиторием подразумевает выполнение стандартных операций отправки и получения, как и с любым другим удалённым репозиторием.
Просмотр удалённых репозиториев
Для того, чтобы просмотреть список настроенных удалённых репозиториев, вы можете запустить команду git remote . Она выведет названия доступных удалённых репозиториев. Если вы клонировали репозиторий, то увидите как минимум origin — имя по умолчанию, которое Git даёт серверу, с которого производилось клонирование:
$ git clone https://github.com/schacon/ticgit Cloning into 'ticgit'. remote: Reusing existing pack: 1857, done. remote: Total 1857 (delta 0), reused 0 (delta 0) Receiving objects: 100% (1857/1857), 374.35 KiB | 268.00 KiB/s, done. Resolving deltas: 100% (772/772), done. Checking connectivity. done. $ cd ticgit $ git remote origin
Вы можете также указать ключ -v , чтобы просмотреть адреса для чтения и записи, привязанные к репозиторию:
$ git remote -v origin https://github.com/schacon/ticgit (fetch) origin https://github.com/schacon/ticgit (push)
Если у вас больше одного удалённого репозитория, команда выведет их все. Например, для репозитория с несколькими настроенными удалёнными репозиториями в случае совместной работы нескольких пользователей, вывод команды может выглядеть примерно так:
$ cd grit $ git remote -v bakkdoor https://github.com/bakkdoor/grit (fetch) bakkdoor https://github.com/bakkdoor/grit (push) cho45 https://github.com/cho45/grit (fetch) cho45 https://github.com/cho45/grit (push) defunkt https://github.com/defunkt/grit (fetch) defunkt https://github.com/defunkt/grit (push) koke git://github.com/koke/grit.git (fetch) koke git://github.com/koke/grit.git (push) origin git@github.com:mojombo/grit.git (fetch) origin git@github.com:mojombo/grit.git (push)
Это означает, что мы можем легко получить изменения от любого из этих пользователей. Возможно, что некоторые из репозиториев доступны для записи и в них можно отправлять свои изменения, хотя вывод команды не даёт никакой информации о правах доступа.
Обратите внимание на разнообразие протоколов, используемых при указании адреса удалённого репозитория; подробнее мы рассмотрим протоколы в разделе Установка Git на сервер главы 4.
Добавление удалённых репозиториев
В предыдущих разделах мы уже упоминали и приводили примеры добавления удалённых репозиториев, сейчас рассмотрим эту операцию подробнее. Для того, чтобы добавить удалённый репозиторий и присвоить ему имя (shortname), просто выполните команду git remote add :
$ git remote origin $ git remote add pb https://github.com/paulboone/ticgit $ git remote -v origin https://github.com/schacon/ticgit (fetch) origin https://github.com/schacon/ticgit (push) pb https://github.com/paulboone/ticgit (fetch) pb https://github.com/paulboone/ticgit (push)
Теперь вместо указания полного пути вы можете использовать pb . Например, если вы хотите получить изменения, которые есть у Пола, но нету у вас, вы можете выполнить команду git fetch pb :
$ git fetch pb remote: Counting objects: 43, done. remote: Compressing objects: 100% (36/36), done. remote: Total 43 (delta 10), reused 31 (delta 5) Unpacking objects: 100% (43/43), done. From https://github.com/paulboone/ticgit * [new branch] master -> pb/master * [new branch] ticgit -> pb/ticgit
Ветка master из репозитория Пола сейчас доступна вам под именем pb/master . Вы можете слить её с одной из ваших веток или переключить на неё локальную ветку, чтобы просмотреть содержимое ветки Пола. Более подробно работа с ветками рассмотрена в главе Ветвление в Git.
Получение изменений из удалённого репозитория — Fetch и Pull
Как вы только что узнали, для получения данных из удалённых проектов, следует выполнить:
$ git fetch [remote-name]
Данная команда связывается с указанным удалённым проектом и забирает все те данные проекта, которых у вас ещё нет. После того как вы выполнили команду, у вас должны появиться ссылки на все ветки из этого удалённого проекта, которые вы можете просмотреть или слить в любой момент.
Когда вы клонируете репозиторий, команда clone автоматически добавляет этот удалённый репозиторий под именем «origin». Таким образом, git fetch origin извлекает все наработки, отправленные на этот сервер после того, как вы его клонировали (или получили изменения с помощью fetch). Важно отметить, что команда git fetch забирает данные в ваш локальный репозиторий, но не сливает их с какими-либо вашими наработками и не модифицирует то, над чем вы работаете в данный момент. Вам необходимо вручную слить эти данные с вашими, когда вы будете готовы.
Если ветка настроена на отслеживание удалённой ветки (см. следующий раздел и главу Ветвление в Git чтобы получить больше информации), то вы можете использовать команду git pull чтобы автоматически получить изменения из удалённой ветки и слить их со своей текущей. Этот способ может для вас оказаться более простым или более удобным. К тому же, по умолчанию команда git clone автоматически настраивает вашу локальную ветку master на отслеживание удалённой ветки master на сервере, с которого вы клонировали репозиторий. Название веток может быть другим и зависит от ветки по умолчанию на сервере. Выполнение git pull , как правило, извлекает (fetch) данные с сервера, с которого вы изначально клонировали, и автоматически пытается слить (merge) их с кодом, над которым вы в данный момент работаете.
Примечание
Начиная с версии 2.27, команда git pull выдаёт предупреждение, если настройка pull.rebase не установлена. Git будет выводить это предупреждение каждый раз пока настройка не будет установлена.
Если хотите использовать поведение Git по умолчанию (простое смещение вперёд если возможно — иначе создание коммита слияния): git config —global pull.rebase «false»
Если хотите использовать перебазирование при получении изменений: git config —global pull.rebase «true»
Отправка изменений в удалённый репозиторий (Push)
Когда вы хотите поделиться своими наработками, вам необходимо отправить их в удалённый репозиторий. Команда для этого действия простая: git push . Чтобы отправить вашу ветку master на сервер origin (повторимся, что клонирование обычно настраивает оба этих имени автоматически), вы можете выполнить следующую команду для отправки ваших коммитов:
$ git push origin master
Эта команда срабатывает только в случае, если вы клонировали с сервера, на котором у вас есть права на запись, и если никто другой с тех пор не выполнял команду push . Если вы и кто-то ещё одновременно клонируете, затем он выполняет команду push , а после него выполнить команду push попытаетесь вы, то ваш push точно будет отклонён. Вам придётся сначала получить изменения и объединить их с вашими и только после этого вам будет позволено выполнить push . Обратитесь к главе Ветвление в Git для более подробного описания, как отправлять изменения на удалённый сервер.
Просмотр удалённого репозитория
Если хотите получить побольше информации об одном из удалённых репозиториев, вы можете использовать команду git remote show . Выполнив эту команду с некоторым именем, например, origin , вы получите следующий результат:
$ git remote show origin * remote origin Fetch URL: https://github.com/schacon/ticgit Push URL: https://github.com/schacon/ticgit HEAD branch: master Remote branches: master tracked dev-branch tracked Local branch configured for 'git pull': master merges with remote master Local ref configured for 'git push': master pushes to master (up to date)
Она выдаёт URL удалённого репозитория, а также информацию об отслеживаемых ветках. Эта команда любезно сообщает вам, что если вы, находясь на ветке master , выполните git pull , ветка master с удалённого сервера будет автоматически влита в вашу сразу после получения всех необходимых данных. Она также выдаёт список всех полученных ею ссылок.
Это был пример для простой ситуации и вы наверняка встречались с чем-то подобным. Однако, если вы используете Git более интенсивно, вы можете увидеть гораздо большее количество информации от git remote show :
$ git remote show origin * remote origin URL: https://github.com/my-org/complex-project Fetch URL: https://github.com/my-org/complex-project Push URL: https://github.com/my-org/complex-project HEAD branch: master Remote branches: master tracked dev-branch tracked markdown-strip tracked issue-43 new (next fetch will store in remotes/origin) issue-45 new (next fetch will store in remotes/origin) refs/remotes/origin/issue-11 stale (use 'git remote prune' to remove) Local branches configured for 'git pull': dev-branch merges with remote dev-branch master merges with remote master Local refs configured for 'git push': dev-branch pushes to dev-branch (up to date) markdown-strip pushes to markdown-strip (up to date) master pushes to master (up to date)
Данная команда показывает какая именно локальная ветка будет отправлена на удалённый сервер по умолчанию при выполнении git push . Она также показывает, каких веток с удалённого сервера у вас ещё нет, какие ветки всё ещё есть у вас, но уже удалены на сервере, и для нескольких веток показано, какие удалённые ветки будут в них влиты при выполнении git pull .
Удаление и переименование удалённых репозиториев
Для переименования удалённого репозитория можно выполнить git remote rename . Например, если вы хотите переименовать pb в paul , вы можете это сделать при помощи git remote rename :
$ git remote rename pb paul $ git remote origin paul
Стоит упомянуть, что это также изменит имена удалённых веток в вашем репозитории. То, к чему вы обращались как pb/master , теперь стало paul/master .
Если по какой-то причине вы хотите удалить удалённый репозиторий — вы сменили сервер или больше не используете определённое зеркало, или кто-то перестал вносить изменения — вы можете использовать git remote rm :
$ git remote remove paul $ git remote origin
При удалении ссылки на удалённый репозиторий все отслеживаемые ветки и настройки, связанные с этим репозиторием, так же будут удалены.
