Добавление удаленного репозитория
Чтобы добавить новый удаленный репозиторий, выполните команду git remote add
в терминале в каталоге, в котором хранится репозиторий.
Команда git remote add
принимает два аргумента:
- имя удаленного репозитория, например,
origin
; - URL-адрес удаленного репозитория, например,
http://HOSTNAME/OWNER/REPOSITORY.git
.
Например:
$ git remote add origin http://HOSTNAME/OWNER/REPOSITORY.git
# Set a new remote
$ git remote -v
# Verify new remote
> origin http://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin http://HOSTNAME/OWNER/REPOSITORY.git (push)
Дополнительные сведения об используемом URL-адресе см. в разделе Сведения об удаленных репозиториях.
Устранение неполадок: удаленный источник уже существует
Эта ошибка означает, что вы попытались добавить удаленный репозиторий с именем, которое уже существует в локальном репозитории.
$ git remote add origin http://HOSTNAME/octocat/Spoon-Knife.git
> fatal: remote origin already exists.
Чтобы устранить эту проблему, можно:
- Используйте другое имя для нового удаленного репозитория.
- Переименуйте существующий удаленный репозиторий перед добавлением нового удаленного репозитория. Дополнительные сведения см. в разделе "Переименование удаленный репозиторий ниже".
- Удалите существующий удаленный репозиторий перед добавлением нового удаленного репозитория. Дополнительные сведения см. в статье об удалении удаленный репозиторий ниже.
Изменение URL-адреса удаленного репозитория
Команда git remote set-url
изменяет существующий URL-адрес удаленного репозитория.
Совет
Сведения о разнице между URL-адресами HTTPS и SSH см. в разделе Сведения об удаленных репозиториях.
Команда git remote set-url
принимает два аргумента:
-
Имя существующего удаленного репозитория. Например, к распространенным вариантам относятся
origin
иupstream
. -
Новый URL-адрес удаленного репозитория. Например:
- Если вы переходите на протокол HTTPS, URL-адрес может выглядеть так:
http://HOSTNAME/OWNER/REPOSITORY.git
- Если вы переходите на SSH, URL-адрес может выглядеть так:
git@HOSTNAME:OWNER/REPOSITORY.git
Переключение удаленных URL-адресов с SSH на HTTPS
-
Откройте ТерминалТерминалGIT Bash.
-
Измените текущий рабочий каталог на локальный проект.
-
Выведите список существующих удаленных объектов, чтобы получить имя удаленного репозитория, которое требуется изменить.
$ git remote -v > origin git@HOSTNAME:OWNER/REPOSITORY.git (fetch) > origin git@HOSTNAME:OWNER/REPOSITORY.git (push)
-
Переключите URL-адрес удаленного репозитория с SSH на HTTPS, выполнив команду
git remote set-url
.git remote set-url origin http://HOSTNAME/OWNER/REPOSITORY.git
-
Убедитесь, что URL-адрес удаленного репозитория изменен.
$ git remote -v # Verify new remote URL > origin http://HOSTNAME/OWNER/REPOSITORY.git (fetch) > origin http://HOSTNAME/OWNER/REPOSITORY.git (push)
При следующем выполнении команд git fetch
, git pull
и git push
для удаленного репозитория вам будет предложено указать имя пользователя и пароль GitHub. Когда Git запрашивает пароль, введите personal access token. Кроме того, можно использовать вспомогательный компонент учетных данных, например диспетчер учетных данных Git. Проверка подлинности на основе паролей для Git была удалена в пользу более безопасных методов проверки подлинности. Дополнительные сведения см. в разделе Управление личными маркерами доступа.
Вы можете использовать вспомогательный компонент учетных данных, чтобы Git запоминал имя пользователя GitHub и personal access token каждый раз, когда он взаимодействует с GitHub.
Переключение удаленных URL-адресов с HTTPS на SSH
-
Откройте ТерминалТерминалGIT Bash.
-
Измените текущий рабочий каталог на локальный проект.
-
Выведите список существующих удаленных объектов, чтобы получить имя удаленного репозитория, которое требуется изменить.
$ git remote -v > origin http://HOSTNAME/OWNER/REPOSITORY.git (fetch) > origin http://HOSTNAME/OWNER/REPOSITORY.git (push)
-
Переключите URL-адрес удаленного репозитория с HTTPS на SSH, выполнив команду
git remote set-url
.git remote set-url origin git@HOSTNAME:OWNER/REPOSITORY.git
-
Убедитесь, что URL-адрес удаленного репозитория изменен.
$ git remote -v # Verify new remote URL > origin git@HOSTNAME:OWNER/REPOSITORY.git (fetch) > origin git@HOSTNAME:OWNER/REPOSITORY.git (push)
Устранение неполадок: удаленный репозиторий "[имя]" отсутствует
Эта ошибка означает, что удаленного репозитория, который вы пытались изменить, не существует:
$ git remote set-url sofake http://HOSTNAME/octocat/Spoon-Knife
> fatal: No such remote 'sofake'
Убедитесь, что вы правильно указали имя удаленного репозитория.
Переименование удаленного репозитория
Используйте команду git remote rename
для переименования существующего удаленного репозитория.
Команда git remote rename
принимает два аргумента:
- имя существующего удаленного репозитория, например,
origin
; - новое имя удаленного репозитория, например,
destination
.
Пример переименования удаленный репозиторий
В этих примерах предполагается, что клонирование выполняется с помощью HTTPS (это рекомендуемый вариант).
$ git remote -v
# View existing remotes
> origin http://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin http://HOSTNAME/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 http://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> destination http://HOSTNAME/OWNER/REPOSITORY.git (push)
Устранение неполадок: не удалось переименовать раздел конфигурации "remote.[старое имя]" в "remote.[новое имя]"
Эта ошибка означает, что удаленного репозитория с указанным старым именем не существует.
Вы можете проверить существующие удаленные репозитории, выполнив команду git remote -v
:
$ git remote -v
# View existing remotes
> origin http://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin http://HOSTNAME/OWNER/REPOSITORY.git (push)
Устранение неполадок: удаленный репозиторий [новое имя] уже существует
Эта ошибка означает, что удаленный репозиторий с именем, которое вы хотите использовать, уже существует. Чтобы решить эту проблему, используйте другое имя удаленного репозитория или переименуйте имеющийся удаленный репозиторий.
Удаление удаленного репозитория
Чтобы удалить удаленный URL-адрес из репозитория, используйте команду git remote rm
.
Команда git remote rm
принимает один аргумент:
- имя удаленного репозитория, например,
destination
;
При удалении удаленного URL-адреса из репозитория выполняется только отмена привязки для локальных и удаленных репозиториев. Сам удаленный репозиторий не удаляется.
Пример удаления удаленный репозиторий
В этих примерах предполагается, что клонирование выполняется с помощью HTTPS (это рекомендуемый вариант).
$ git remote -v
# View current remotes
> origin http://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin http://HOSTNAME/OWNER/REPOSITORY.git (push)
> destination http://HOSTNAME/FORKER/REPOSITORY.git (fetch)
> destination http://HOSTNAME/FORKER/REPOSITORY.git (push)
$ git remote rm destination
# Remove remote
$ git remote -v
# Verify it's gone
> origin http://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin http://HOSTNAME/OWNER/REPOSITORY.git (push)
Примечание.
git remote rm
не удаляет удаленный репозиторий с сервера. Она просто удаляет удаленный репозиторий и его ссылки из локального репозитория.
Устранение неполадок. Не удалось удалить раздел конфигурации "remote.[имя]"
Эта ошибка означает, что удаленного репозитория, который вы пытались удалить, не существует:
$ git remote rm sofake
> error: Could not remove config section 'remote.sofake'
Убедитесь, что вы правильно указали имя удаленного репозитория.