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

Создание и редактирование конфигураций git remote
Команда git remote также используется для редактирования файла ./.git/config репозитория. Вы можете сделать это, выполнив следующие команды:
- Используйте приведенную ниже команду для добавления нового удаленного подключения к удаленному репозиторию. Затем вы можете использовать
<name>в качестве удобного сокращения для<url>в других командах Git.
git remote add
git remote add <name> <url>- Выполните следующую команду, чтобы удалить подключение к удаленному репозиторию, которое называется
<name>.
git remote rm
git remote rm <name>- Запустите приведенную ниже команду для переименования удаленного подключения:
git remote rename
git remote rename <old> <new>- Используйте приведенную ниже команду для изменения URL-адреса существующего удаленного подключения:
git remote set-url
git remote set-url <name> <new-url>Вы можете достичь того же результата, отредактировав файл ./.git/config напрямую с помощью текстового редактора.
Удаленный репозиторий origin
Выполнение команды git clone автоматически создает удаленное подключение с именем origin, указывающее на клонированный репозиторий. Локальная копия позволяет легко получать изменения из удаленного репозитория или публиковать локальные коммиты. Именно поэтому центральный репозиторий во многих проектах называется origin.
URL-адреса репозиториев
Существует множество способов обращения к удаленному репозиторию, но двумя самыми простыми считаются использование протоколов HTTPS и SSH. URL-адреса HTTPS обычно используются для доступа только для чтения или в сочетании с помощниками учетных данных или персональными токенами доступа для аутентификации.
Формат URL-адреса HTTPS
http://host/path/to/repo.gitИспользуйте SSH для доступа на чтение и запись. Вам потребуется действительная учетная запись SSH. Обратите внимание, что требования к доступу зависят от прав репозитория; публичные репозитории позволяют доступ без аутентификации, в то время как приватные требуют аутентификации. Современные безопасные решения стороннего хостинга, например Bitbucket.com, могут предоставлять такие URL-адреса:
Формат URL-адреса SSH
ssh://user@host/path/to/repo.gitВы также можете использовать широко поддерживаемый синтаксис, похожий на SCP:
user@host:path/to/repo.gitПодкоманды git remote
Команда git remote имеет собственные подкоманды. Мы рассмотрим их ниже.
git remote add <name> <url>
Добавляет запись в файл ./.git/config для удаленного подключения с именем <name>, указывающего на <url>. Принимает опцию -f, которая сразу же выполняет git fetch <name> после создания записи об удаленном подключении. Другой опцией, принимаемой этой подкомандой, является --tags, которая сразу же выполнит git fetch <name> и импортирует все метки из удаленного репозитория.
git remote add <name> <url>git remote rename <old> <new>
Обновляет ./.git/config, переименовывая <old> в <new>. Все настройки конфигурации и ветки для удаленного подключения обновляются соответствующим образом.
git remote rename <old> <new>git remote remove или rm
Удаляет удаленное подключение с именем <name> из ./.git/config. Все связанные настройки конфигурации и ветки удаляются.
git remote rm <name>git remote set-url <name> <new-url>
Изменяет URL-адрес существующей записи об удаленном подключении в ./.git/config.
git remote set-url <name> <new-url>git remote get-url <name>
Выводит URL-адреса для записи об удаленном подключении. Эта подкоманда принимает опции --push и --all.
git remote get-url <name>git remote show <name>
Выводит подробную информацию об удаленном подключении <name>.
git remote show <name>git remote prune <name>
Удаляет удаленные отслеживаемые ветки для <name>, которые больше не существуют в удаленном репозитории. Эта подкоманда принимает опцию --dry-run, которая выводит список веток, которые будут обрезаны, но фактически не обрезает их.
git remote prune <name>Примеры git remote
Подключение к репозиториям других разработчиков позволяет сотрудничать вне центрального репозитория. Например, если коллега поддерживает общедоступный репозиторий по адресу dev.example.com/tom.git, вы можете добавить его следующим образом:
git remote add <name> <url>
git remote add tom http://dev.example.com/tom.gitОтображение ваших удаленных подключений
По умолчанию git remote выводит список всех настроенных удаленных подключений. В выводе отображается одна строка для каждого репозитория, добавленного в закладки.
команда git remote
git remote
origin
upstream
other_repoВы можете вызвать команду git remote с опцией -v, которая выведет имена репозиториев, добавленных в закладки, вместе с URL-адресом соответствующего репозитория.
git remote -v
git remote -v
origin [email protected]:origin_user/reponame.git (fetch)
origin [email protected]:origin_user/reponame.git (push)
upstream https://example.com/upstream_user/reponame.git (fetch)
upstream https://example.com/upstream_user/reponame.git (push)
other_repo https://example.com/other_repo/reponame.git (fetch)
other_repo https://example.com/other_repo/reponame.git (push)Добавление удаленных репозиториев
Выполнение git remote add создает новую запись о подключении в ./.git/config. Затем <name> служит сокращением для <url> в других командах Git.
пример git remote add
git remote add fake_test https://example.com/upstream_user/reponame.gitПроверка удаленного подключения
Добавление подкоманды show предоставляет подробный вывод конфигурации, включая подключенные ветки и конечные точки для fetch/push.
git remote show
git remote show upstream
* remote upstream
Fetch URL: https://example.com/upstream_user/reponame.git
Push URL: https://example.com/upstream_user/reponame.git
HEAD branch: master
Remote branches:
master tracked
simd-deprecated tracked
tutorial tracked
Local ref configured for 'git push':
master pushes to master (fast-forwardable)Получение данных и обновление из удаленных репозиториев Git
После настройки удаленного подключения его имя можно использовать в качестве аргумента для других команд Git для установления связи с удаленным репозиторием. Вы можете использовать команды git fetch и git pull для чтения данных из удаленного репозитория.
Отправка данных в удаленные репозитории Git
Команда git push записывает данные в удаленный репозиторий.
git push <remote-name> <branch-name>
git push <remote-name> <branch-name>Практика
Какие утверждения о команде `git remote` верны согласно руководству W3Docs по Git?