Поиск по сайту:

Как переключать, добавлять и удалять Git Remotes


Git — это децентрализованная система контроля версий, что означает, что ваш локальный репозиторий — это то же самое, что и удаленный репозиторий на таком сайте, как Github. Когда вам нужно отправить или получить изменения, вы должны сделать это с помощью пульта Git.

Что такое Git-пульты?

Поскольку Git — это децентрализованный сервис, в котором локальные и удаленные репозитории используют одну и ту же систему, ваш локальный репозиторий не имеет представления о текущем состоянии вашего репозитория Github, и наоборот. Для обмена данными клиенты Git должны настроить пульты для отправки и получения данных.

Удаленный — это, по сути, URL-адрес с именем, но это немного сложнее. Поскольку вы сами выбираете, когда запускать git pull и git push, у вас может быть несколько пультов Git. Это может быть полезно для управления репозиторием разработки и репозиторием выпуска на другой платформе, например, для облачных решений, таких как AWS CodeCommit.

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

Управление Git-пультами

Когда вы впервые клонируете или загружаете репозиторий Git из Интернета, он, скорее всего, настроен с удаленным именем «источник». Вы можете проверить это, перечислив удаленные устройства с флагом -v для подробных сведений, который также отображает URL-адрес:

git remote -v

Если вы хотите переключить пульты, например, в случае разветвления репозитория Github и отправки обновлений в свой собственный репозиторий, вам нужно удалить старый пульт:

git remote rm origin

Затем вы можете добавить новый пульт. Если вы настраиваете новый репозиторий Git после запуска git init, вам также необходимо будет сделать это, поскольку по умолчанию у вас не будет удаленного доступа. Точный URL-адрес будет зависеть от службы, которую вы используете, но для Github он доступен в разделе «Код» на главной странице репозитория. Вы можете выбрать подключение через HTTPS или SSH.

Когда у вас есть URL-адрес, вы можете добавить его с именем, обычно «происхождение», если это основной удаленный:

git remote add origin https://github.com/username/reponame.git

После настройки вы можете отправлять и извлекать из него, указав удаленное имя и удаленную ветвь:

git push remote master

git fetch/pull remote master

Отправка ветки на другой удаленный сервер

Вы можете настроить удаленный сервер по умолчанию, который обычно настраивается как origin. Вот почему при отправке в первый раз вы должны установить восходящий поток:

git push --set-upstream origin/master

Однако вы также можете настроить восходящий поток для отдельных ветвей.

git switch releasebranch

git branch --set-upstream-to=release/master

Здесь Git установит восходящий поток, используемый для releasebranch, как «выпуск», который можно настроить для отдельного репозитория.