W3docs

git remote

Learn how to create and edit git remote configurations, add remote repositories, inspect, fetch, pull, push, rename and remove them, see examples.

Определение

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

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

git remote

Создание и редактирование конфигураций git remote

Команда git remote также используется для редактирования файла ./.git/config репозитория. Вы можете сделать это, выполнив следующие команды:

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

git remote add

git remote add <name> <url>
  1. Выполните следующую команду, чтобы удалить подключение к удаленному репозиторию, которое называется <name>.

git remote rm

git remote rm <name>
  1. Запустите приведенную ниже команду для переименования удаленного подключения:

git remote rename

git remote rename <old> <new>
  1. Используйте приведенную ниже команду для изменения 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?