6.push.to.remote.md


Отправляем изменения в Remote

Если мы первоначально создавали remote репозиторий и потом клонировали его, то можем сразу делать Push.
Если же первоначально мы делали локальный репозиторий и хотим отправить изменения в remote, то нам надо сначала создать этот remote, а потом подцепить в проект.

Один проект может иметь несколько Remote, что очень удобно при мультихостинге (когда один проект имеет зеркала на github/gitlab/bitbucket/etc)

Добавляем ссылку на remote

Git-консоль

Через консоль ссылка на remote добавляется строкой вида:

git remote add -remote_name- -URL-

  • -remote_name- : название remote репозитория, обычно origin
  • -URL- : адрес репозитория

Пример:

git remote add origin https://hosting.url/username/reponame.git

GUI-клиент

В GUI-клиенте это делается не в одну команду и может отличаться от клиента к клиенту.
В SourceTree это делается так:

Нажимаем Settings в нужном репозитории.
В новом окне нажимаем кнопку Add

add.remote.link.0.png

Теперь нам надо указать название удаленного репозитория и URL к нему.
Указываем ‘remote name’ и ‘URL/Path’ .
Поля в оранжевой рамке заполняются при необходимости.
Теперь нажимаем Ок.

add.remote.link.1.png

В итога должно получиться вот так. Нажимаем Ок.

add.remote.link.2.png

Делаем Push

Git-консоль

Для отправки push через консоль требуется выполнить команду:

git remote add -remote_name-

Пример:

git push origin

Если репозиторий имеет несколько remote , то для отправки изменений во все remote, то выполняется вот такая хитрая команда

git remote | xargs -L1 -I R git push R -branch_name-

GUI-клиент

В GUI-клиенте может отличаться от клиента к клиенту.
Нажимаем кнопку Push
В диалоге отмечаем галками нужные нам ветки (в примере только одна) и нажимаем Push.

push.0.png

Если у нас включен полный вывод информации, то будет еще одно окно с результатом.

push.1.png

Теперь в истории у нас появился новый элемент - удаленная (remote) ветка.
Имя для remote ветки всегда подчиняется правилу: имя_remote/имя_ветки.

push.2.png

Если проект имеет несколько Remote, то для отправки изменений в несколько Remote требуется последовательно нажимать Push и выбирать нужный remote.
Отдельно стоит отметить, что в SourceTree есть кнопка Terminal, которая позволяет выполнять команды git в режиме консоли.

Ссылка на вики репозиторий