Как отвязать проект от репозитория
Перейти к содержимому

Как отвязать проект от репозитория

  • автор:

Managing remote repositories

Learn to work with your local repositories on your computer and remote repositories hosted on GitHub.

Adding a remote repository

To add a new remote, use the git remote add command on the terminal, in the directory your repository is stored at.

The git remote add command takes two arguments:

  • A remote name, for example, origin
  • A remote URL, for example, https://github.com/OWNER/REPOSITORY.git

For more information on which URL to use, see «About remote repositories.»

Troubleshooting: Remote origin already exists

This error means you’ve tried to add a remote with a name that already exists in your local repository.

To fix this, you can:

  • Use a different name for the new remote.
  • Rename the existing remote repository before you add the new remote. For more information, see «Renaming a remote repository» below.
  • Delete the existing remote repository before you add the new remote. For more information, see «Removing a remote repository» below.

Changing a remote repository’s URL

The git remote set-url command changes an existing remote repository URL.

Tip: For information on the difference between HTTPS and SSH URLs, see «About remote repositories.»

The git remote set-url command takes two arguments:

  • An existing remote name. For example, origin or upstream are two common choices.
  • A new URL for the remote. For example:
    • If you’re updating to use HTTPS, your URL might look like:
    • If you’re updating to use SSH, your URL might look like:

    Switching remote URLs from SSH to HTTPS

    1. Open Terminal Terminal Git Bash .
    2. Change the current working directory to your local project.
    3. List your existing remotes in order to get the name of the remote you want to change.
    4. Change your remote’s URL from SSH to HTTPS with the git remote set-url command.
    5. Verify that the remote URL has changed.

    The next time you git fetch , git pull , or git push to the remote repository, you’ll be asked for your GitHub username and password. When Git prompts you for your password, enter your personal access token. Alternatively, you can use a credential helper like Git Credential Manager. Password-based authentication for Git has been removed in favor of more secure authentication methods. For more information, see «Creating a personal access token.»

    You can use a credential helper so Git will remember your GitHub username and personal access token every time it talks to GitHub.

    Switching remote URLs from HTTPS to SSH

    1. Open Terminal Terminal Git Bash .
    2. Change the current working directory to your local project.
    3. List your existing remotes in order to get the name of the remote you want to change.
    4. Change your remote’s URL from HTTPS to SSH with the git remote set-url command.
    5. Verify that the remote URL has changed.

    Troubleshooting: No such remote ‘[name]’

    This error means that the remote you tried to change doesn’t exist:

    Check that you’ve correctly typed the remote name.

    Renaming a remote repository

    Use the git remote rename command to rename an existing remote.

    The git remote rename command takes two arguments:

    • An existing remote name, for example, origin
    • A new name for the remote, for example, destination

    Example of renaming a remote repository

    These examples assume you’re cloning using HTTPS, which is recommended.

    Troubleshooting: Could not rename config section ‘remote.[old name]’ to ‘remote.[new name]’

    This error means that the old remote name you typed doesn’t exist.

    You can check which remotes currently exist with the git remote -v command:

    Troubleshooting: Remote [new name] already exists

    This error means that the remote name you want to use already exists. To solve this, either use a different remote name, or rename the original remote.

    Removing a remote repository

    Use the git remote rm command to remove a remote URL from your repository.

    The git remote rm command takes one argument:

    • A remote name, for example, destination

    Removing the remote URL from your repository only unlinks the local and remote repositories. It does not delete the remote repository.

    Example of removing a remote repository

    These examples assume you’re cloning using HTTPS, which is recommended.

    Note: git remote rm does not delete the remote repository from the server. It simply removes the remote and its references from your local repository.

    Troubleshooting: Could not remove config section ‘remote.[name]’

    This error means that the remote you tried to delete doesn’t exist:

    Check that you’ve correctly typed the remote name.

    Help us make these docs great!

    All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

    Как отвязать проект от репозитория

    git clone —bare [email protected]:user/forked_repo.git

    git push —mirror [email protected]:user/new-repository.git

    1. Перейдите в репозиторий, который нужно отсоединить: https://<ghe url>/<org>/<repo>
    2. Нажмите на ракету «Администратор сайта» в правом верхнем углу.
    3. Нажмите «Совместная работа» в верхней строке меню.
    4. Нажмите «Сеть» на левой панели.
    5. Нажмите «Make Root» на панели «Структура сети».
    6. Принимать

    Make a bare Git repository. That is, instead of creating <directory> and placing the administrative files in <directory>/.git , make the <directory> itself the $GIT_DIR . This obviously implies the -n because there is nowhere to check out the working tree. Also the branch heads at the remote are copied directly to corresponding local branch heads, without mapping them to refs/remotes/origin/ . When this option is used, neither remote-tracking branches nor the related configuration variables are created.

    Instead of naming each ref to push, specifies that all refs under refs/ (which includes but is not limited to refs/heads/ , refs/remotes/ , and refs/tags/ ) be mirrored to the remote repository. Newly created local refs will be pushed to the remote end, locally updated refs will be force updated on the remote end, and deleted refs will be removed from the remote end. This is the default if the configuration option remote.<remote>.mirror is set.

    git remote

    В системе SVN используется единый централизованный репозиторий, служащий центром связи для разработчиков. Совместная работа ведется путем передачи наборов изменений между рабочими копиями разработчиков и центральным репозиторием. Однако модель распределенной совместной работы в Git предполагает, что каждый разработчик использует собственную копию репозитория со своей локальной историей и структурой веток. Обычно пользователи делятся не отдельными наборами изменений, а сериями коммитов. Вместо того чтобы выполнять коммит одного набора изменений из рабочей копии в центральный репозиторий, Git позволяет передавать между репозиториями целые ветки.

    Команда git remote входит в состав системы, отвечающей за синхронизацию изменений. Записи, зарегистрированные с помощью команды git remote , используются в сочетании с командами git fetch , git push и git pull . Все эти команды отвечают за свою часть работы по выполнению синхронизации. Подробнее можно узнать, пройдя по соответствующим ссылкам.

    git remote

    Команда git remote позволяет создавать, просматривать и удалять подключения к другим репозиториям. Удаленные подключения скорее похожи на закладки, чем на прямые ссылки на другие репозитории. Они служат удобными именами, с помощью которых можно сослаться на не очень удобный URL-адрес, а не предоставляют доступ к другому репозиторию в режиме реального времени.

    Например, на следующем рисунке изображены два удаленных подключения из вашего репозитория к центральному репозиторию и репозиторию другого разработчика. Вместо того, чтобы ссылаться на них по их полным URL-адресам, вы можете передавать командам Git только ярлыки origin и john.

    Обзор использования git remote

    По сути, команда git remote — это интерфейс для управления списком записей об удаленных подключениях, которые хранятся в файле /.git/config репозитория. Для просмотра текущего состояния списка удаленных подключений используются следующие команды.

    Просмотр конфигураций удаленных репозиториев Git

    Список ваших удаленных подключений к другим репозиториям.

    Аналогично команде выше, но включает URL-адрес каждого подключения.

    Создание и изменение конфигураций удаленных репозиториев Git

    Команда git remote также предоставляет удобный способ изменения файла /.git/config репозитория. Перечисленные ниже команды позволяют управлять подключениями к другим репозиториям и изменять файл /.git/config репозитория. Такого же результата можно достичь, напрямую отредактировав файл /.git/config с помощью текстового редактора.

    Создание нового подключения к удаленному репозиторию. После добавления удаленного репозитория имя <name> можно использовать в качестве удобного ярлыка для адреса <url> в других командах Git.

    Удаление подключения к удаленному репозиторию с именем <name> .

    Переименование удаленного подключения с имени <old-name> на <new-name> .

    Обсуждение git remote

    Git предоставляет каждому разработчику полностью изолированную среду разработки. Информация не передается между репозиториями автоматически. Вместо этого разработчикам нужно вручную загружать вышестоящие коммиты в локальный репозиторий или вручную отправлять локальные коммиты обратно в центральный репозиторий. Команда git remote представляет собой простой способ передачи URL-адресов в эти команды обмена.

    Удаленное подключение к origin

    В процессе клонирования с помощью команды git clone автоматически создается удаленное подключение к исходному репозиторию (такое соединение называется origin). Это позволяет разработчикам, создающим локальную копию центрального репозитория, легко загружать вышестоящие изменения или публиковать локальные коммиты. Именно поэтому большинство проектов на основе Git называют свой центральный репозиторий origin.

    URL-адреса репозиториев

    Git поддерживает различные способы ссылки на удаленный репозиторий. Два наиболее простых способа доступа к удаленному репозиторию: протоколы HTTP и SSH. Протокол HTTP — простой способ разрешить к репозиторию анонимный доступ только для чтения. Пример ниже.

    Однако HTTP-адрес, как правило, не позволяет отправлять коммиты (в любом случае вы не захотите разрешать анонимную отправку изменений с помощью команды push). Чтобы использовать доступ для чтения и записи следует использовать протокол SSH:

    Вам понадобится лишь действующий аккаунт SSH на хост-машине, а в остальном Git поддерживает аутентифицированный доступ через SSH по умолчанию. Необходимые URL-адреса предоставляются современными безопасными решениями для хостинга от сторонних провайдеров, например Bitbucket.com.

    Команды git remote

    Команда git remote — одна из многих команд Git, которые принимают дополнительные «подкоманды». Ниже рассмотрены наиболее часто используемые подкоманды git remote .

    Добавляет запись к ./.git/config для удаленного репозитория с именем <name> по URL-адресу <url> .

    Принимает параметр -f , который запустит команду git fetch сразу после создания записи об удаленном репозитории.

    Принимает параметр —tags , который немедленно запустит команду git fetch и импортирует все теги из удаленного репозитория.

    Обновляет ./.git/config для переименования записи с <OLD> на <NEW> . При этом обновляются все удаленно отслеживаемые ветки и настройки конфигурации удаленного репозитория.

    Изменяет ./.git/config и удаляет удаленный репозиторий с именем <NAME> . При этом удаляются все удаленно отслеживаемые ветки и настройки конфигурации удаленного репозитория.

    Вывод URL-адресов для записи об удаленном репозитории.

    Принимает параметр —push , поскольку URL-адреса чаще отправляют с помощью команды push, а не извлекают с помощью fetch.

    При указании параметра —all будут перечислены все URL-адреса для данного удаленного репозитория.

    Выводит общую информацию об удаленном репозитории с именем <NAME> .

    Удаляет из репозитория <NAME> все локальные ветки, которые отсутствуют в удаленном репозитории.

    Принимает параметр —dry-run , который выводит список удаляемых веток, но на самом деле не удаляет их.

    Примеры git remote

    Зачастую бывает удобно иметь подключение не только к репозиторию origin, но и к репозиториям коллег. Например, если ваш коллега Джон поддерживает общедоступный репозиторий на dev.example.com/john.git , вы можете добавить подключение следующим образом:

    Доступа к индивидуальным репозиториям разработчиков позволяет вести совместную работу за пределами центрального репозитория. Это может быть очень полезно для небольших команд, работающих над большим проектом.

    Просмотр удаленных репозиториев

    По умолчанию команда git remote отображает ранее сохраненные удаленные подключения к другим репозиториям. Создается однострочный список закладок с именами удаленных репозиториев.

    При вызове git remote с параметром -v будет выведен список закладок с именами и соответствующими URL-адресами репозиториев. Параметр -v расшифровывается как «verbose» — подробный. Ниже приведен пример подробного вывода команды git remote .

    Добавление удаленных репозиториев

    Команда git remote add используется для создания записи о новом подключении к удаленному репозиторию. После добавления удаленного репозитория имя можно использовать в качестве удобного ярлыка для адреса в других командах Git. Дополнительные сведения о принятом синтаксисе URL-адресов см. в разделе «URL-адреса репозиториев» ниже. Эта команда создаст новую запись в файле ./.git/config репозитория. Ниже приведен пример обновления этого файла конфигурации.

    Проверка удаленного репозитория

    Для получения подробного вывода о конфигурации удаленного репозитория к команде git remote можно добавить подкоманду show. Вывод будет содержать список веток, связанных с удаленным репозиторием, а также конечных точек, подключенных для извлечения (fetch) и отправки (push).

    Получение и извлечение данных из удаленных репозиториев Git

    После настройки записи об удаленном репозитории с помощью команды git remote с этим репозиторием можно связываться, передавая его имя в качестве аргумента другим командам Git. Для чтения данных из удаленного репозитория можно использовать и git fetch , и git pull . Эти команды выполняют разные операции (более подробную информацию можно узнать, пройдя по соответствующим ссылкам).

    Отправка данных в удаленные репозитории Git

    Для записи данных в удаленный репозиторий используется команда git push .

    В этом примере состояние локальной ветки <branch-name> передается в удаленный репозиторий, обозначенный как <remote-name> .

    Переименование и удаление удаленных репозиториев

    Принцип работы команды git remote rename очевиден из названия. В результате ее выполнения происходит переименование удаленного подключения с имени <old-name> на <new-name> . Кроме того, изменяется контент ./.git/config для переименования записи для удаленного репозитория.

    Команда git remote rm удаляет подключение к удаленному репозиторию, обозначенному с помощью параметра <name> . Чтобы показать работу команды, «отменим» добавление из последнего примера. После выполнения команды git remote rm remote_test мы увидим, что запись [remote «remote_test»] удалена из контента ./.git/config .

    Как отключить проект в Intellij Idea от Git

    Написал некий код на Intellij Idea и экспортировал это на Git. Потом увидел, что экспортировалось даже то, что не нужно (проект один, но в разных packages совершенно разные программы), так как только учусь. Удалил этот репозиторий из Git, но до сих пор к нему подключена и при попытке закомитить пишет, что репозиторий не найден (что естественно). Так вот, как сделать, чтобы мой проект больше не был привязан к Version Control, так как это было изначально? В настройках не нашел подобной фичи

    driversti's user avatar

    В настройках раздел Version Control .

    введите сюда описание изображения

    Кликните на директорию, с которой вы синхронизировали Git ( на скриншоте это D:\Projects\OutgoingManager) и нажмите на красный минус справа (он станет красным, когда выберете директорию).

    В папке с проектом папка .idea. Заходишь туда, ишешь файл vcs.xml и удаляешь оттуда строчку с папкой, которую ты хочешь убрать.

    Andrew Bystrov's user avatar

    Командная строка (терминал в Android Studio):

    На Linux/Mac, вы можете использовать sudo , чтобы удалить его (в зависимости от разрешений).

    Сергей Беляков's user avatar

    Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.11.43304

    Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *