git remote: связь с удалённым репозиторием

Обновлено 31 июля 2026 г.

git remote управляет списком адресов, по которым репозиторий обменивается коммитами с сервером. Удалённый репозиторий (remote) - это такой же репозиторий git, только на другой машине: GitHub, GitLab, сервер компании или папка на соседнем компьютере.

Локально связь записана парой «имя и адрес». Все команды обмена работают с именем, а не с длинным URL, поэтому адрес набирается один раз в жизни проекта.

$ git remote -v
origin	git@github.com:username/my-project.git (fetch)
origin	git@github.com:username/my-project.git (push)

Две строки - адрес для чтения и адрес для записи, обычно они совпадают. Пустой вывод значит, что репозиторий пока ни с чем не связан. Связывает его add:

$ git remote add origin git@github.com:username/my-project.git

После git clone этого делать не нужно: клон прописывает origin сам.

origin - это просто имя

origin - имя по умолчанию для основного удалённого репозитория, и ничего особенного внутри него нет. Git подставляет это имя, когда ты пишешь git push без аргументов. Переименуй origin - и всё продолжит работать, только имя придётся называть явно.

$ git remote rename origin github
$ git remote remove github        # убрать связь, история остаётся на диске

Сменить адрес удалением и повторным добавлением можно, но правильнее set-url. Он нужен, когда репозиторий переехал или ты переходишь с HTTPS на SSH:

$ git remote set-url origin git@github.com:username/my-project.git

Подробную картину по одной связи даёт git remote show: оба адреса, ветку по умолчанию на сервере и то, какая локальная ветка куда отправляется.

$ git remote show origin
* remote origin
  Fetch URL: git@github.com:username/my-project.git
  Push  URL: git@github.com:username/my-project.git
  HEAD branch: main
  Remote branch:
    main tracked

Частые ошибки

git remote add не проверяет адрес. Команда пройдёт молча с любой опечаткой, а ошибка вылезет только на первом обмене, где-нибудь в виде Repository not found. Начинай разбор с git remote -v.

Вторая ошибка - добавлять origin поверх существующего. Git отвечает error: remote origin already exists. Тут нужен set-url, а не add.

Где это в учебнике

Глава 6. GitHub: облако и совместная работа. Что делать с готовой связью дальше, разобрано в статьях git push и git pull.

Потренироваться руками - в Песочнице: настоящий терминал с git и проверка шагов.