Skip to main content

Управление удаленными репозиториями

Platform navigation

Чтобы добавить новый удаленный репозиторий, выполните команду git remote add в терминале в каталоге, в котором хранится репозиторий.

Команда git remote add принимает два аргумента:

  • имя удаленного репозитория, например, origin;
  • URL-адрес удаленного репозитория, например, https://.com/OWNER/REPOSITORY.git.

Например:

$ git remote add origin https://.com/OWNER/REPOSITORY.git
# Set a new remote

$ git remote -v
# Verify new remote
> origin  https://.com/OWNER/REPOSITORY.git (fetch)
> origin  https://.com/OWNER/REPOSITORY.git (push)

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

Эта ошибка означает, что вы попытались добавить удаленный репозиторий с именем, которое уже существует в локальном репозитории.

$ git remote add origin https://.com/octocat/Spoon-Knife.git
> fatal: remote origin already exists.

Чтобы устранить эту проблему, можно:

  • Используйте другое имя для нового удаленного репозитория.
  • Переименуйте существующий удаленный репозиторий перед добавлением нового удаленного репозитория. Дополнительные сведения см. в разделе "Переименование удаленный репозиторий ниже".
  • Удалите существующий удаленный репозиторий перед добавлением нового удаленного репозитория. Дополнительные сведения см. в статье об удалении удаленный репозиторий ниже.

Команда git remote set-url изменяет существующий URL-адрес удаленного репозитория.

Совет

Сведения о разнице между URL-адресами HTTPS и SSH см. в разделе Сведения об удаленных репозиториях.

Команда git remote set-url принимает два аргумента:

  • Имя существующего удаленного репозитория. Например, к распространенным вариантам относятся origin и upstream.

  • Новый URL-адрес удаленного репозитория. Например:

    • Если вы переходите на протокол HTTPS, URL-адрес может выглядеть так:
    https://.com/OWNER/REPOSITORY.git
    
    • Если вы переходите на SSH, URL-адрес может выглядеть так:
    [email protected]:OWNER/REPOSITORY.git
    

  1. Откройте ТерминалТерминалGIT Bash.

  2. Измените текущий рабочий каталог на локальный проект.

  3. Выведите список существующих удаленных объектов, чтобы получить имя удаленного репозитория, которое требуется изменить.

    $ git remote -v
    > origin  [email protected]:OWNER/REPOSITORY.git (fetch)
    > origin  [email protected]:OWNER/REPOSITORY.git (push)
    
  4. Переключите URL-адрес удаленного репозитория с SSH на HTTPS, выполнив команду git remote set-url.

    git remote set-url origin https://.com/OWNER/REPOSITORY.git
    
  5. Убедитесь, что URL-адрес удаленного репозитория изменен.

    $ git remote -v
    # Verify new remote URL
    > origin  https://.com/OWNER/REPOSITORY.git (fetch)
    > origin  https://.com/OWNER/REPOSITORY.git (push)
    

При следующем выполнении команд git fetch, git pull и git push для удаленного репозитория вам будет предложено указать имя пользователя и пароль . Когда Git запрашивает пароль, введите personal access token. Кроме того, можно использовать вспомогательный компонент учетных данных, например диспетчер учетных данных Git. Проверка подлинности на основе паролей для Git была удалена в пользу более безопасных методов проверки подлинности. Дополнительные сведения см. в разделе Управление личными маркерами доступа.

Вы можете использовать вспомогательный компонент учетных данных, чтобы Git запоминал имя пользователя и personal access token каждый раз, когда он взаимодействует с .

  1. Откройте ТерминалТерминалGIT Bash.

  2. Измените текущий рабочий каталог на локальный проект.

  3. Выведите список существующих удаленных объектов, чтобы получить имя удаленного репозитория, которое требуется изменить.

    $ git remote -v
    > origin  https://.com/OWNER/REPOSITORY.git (fetch)
    > origin  https://.com/OWNER/REPOSITORY.git (push)
    
  4. Переключите URL-адрес удаленного репозитория с HTTPS на SSH, выполнив команду git remote set-url.

    git remote set-url origin [email protected]:OWNER/REPOSITORY.git
    
  5. Убедитесь, что URL-адрес удаленного репозитория изменен.

    $ git remote -v
    # Verify new remote URL
    > origin  [email protected]:OWNER/REPOSITORY.git (fetch)
    > origin  [email protected]:OWNER/REPOSITORY.git (push)
    

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

$ git remote set-url sofake https://.com/octocat/Spoon-Knife
> fatal: No such remote 'sofake'

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

Используйте команду git remote rename для переименования существующего удаленного репозитория.

Команда git remote rename принимает два аргумента:

  • имя существующего удаленного репозитория, например, origin;
  • новое имя удаленного репозитория, например, destination.

В этих примерах предполагается, что клонирование выполняется с помощью HTTPS (это рекомендуемый вариант).

$ git remote -v
# View existing remotes
> origin  https://.com/OWNER/REPOSITORY.git (fetch)
> origin  https://.com/OWNER/REPOSITORY.git (push)

$ git remote rename origin destination
# Change remote name from 'origin' to 'destination'

$ git remote -v
# Verify remote's new name
> destination  https://.com/OWNER/REPOSITORY.git (fetch)
> destination  https://.com/OWNER/REPOSITORY.git (push)

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

Вы можете проверить существующие удаленные репозитории, выполнив команду git remote -v:

$ git remote -v
# View existing remotes
> origin  https://.com/OWNER/REPOSITORY.git (fetch)
> origin  https://.com/OWNER/REPOSITORY.git (push)

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

Чтобы удалить удаленный URL-адрес из репозитория, используйте команду git remote rm.

Команда git remote rm принимает один аргумент:

  • имя удаленного репозитория, например, destination;

При удалении удаленного URL-адреса из репозитория выполняется только отмена привязки для локальных и удаленных репозиториев. Сам удаленный репозиторий не удаляется.

В этих примерах предполагается, что клонирование выполняется с помощью HTTPS (это рекомендуемый вариант).

$ git remote -v
# View current remotes
> origin  https://.com/OWNER/REPOSITORY.git (fetch)
> origin  https://.com/OWNER/REPOSITORY.git (push)
> destination  https://.com/FORKER/REPOSITORY.git (fetch)
> destination  https://.com/FORKER/REPOSITORY.git (push)

$ git remote rm destination
# Remove remote
$ git remote -v
# Verify it's gone
> origin  https://.com/OWNER/REPOSITORY.git (fetch)
> origin  https://.com/OWNER/REPOSITORY.git (push)

Примечание.

git remote rmне удаляет удаленный репозиторий с сервера. Она просто удаляет удаленный репозиторий и его ссылки из локального репозитория.

Эта ошибка означает, что удаленного репозитория, который вы пытались удалить, не существует:

$ git remote rm sofake
> error: Could not remove config section 'remote.sofake'

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