git remote add — команда, которой устанавливается подключение к удаленному серверу и git репозиторию на нем.
Репозиторий подключается для того чтобы стала возможна передача в него данных проекта.
git remote add и подключение нового репозитория
Так выглядит начало работы с проектом, который будет храниться в git репозитории.
Сначала инициализируем локальный репозиторий выполняя в каталоге проекта git init.
git init
Затем устанавливаем подключение к удаленному репозиторию
git remote add NAME ADDRESS
NAME — имя для удаленного репозитория может быть любым. Часто используют origin
Адресом передаваемым git remote add после указания имени может быть:
- имя пользователя + ip адрес + путь до репозитория
- имя пользователя + hostname + путь до репозитория
Например, [email protected]:/repo.git
Процесс добавление репозитория представлен на скриншоте:
Через git remote -v можно посмотреть какие удаленные репозитории добавлены.
git remote -v
Добавляемый репозиторий может быть публичный репозиторий на github или приватный репозиторий.
Чтобы передача данные была возможна репозиторий должен существовать (также создается за счет git init) в момент выполнения git push
Имя подключённого репозитория можно при желании поменять, обычно используется origin, но можно задать другое имя. Имя указывается при выполнении git push
Когда подготовлена структура проекта и созданы скрипты — содержимое добавляем для коммита.
git add .
Затем делаем коммит сопровождая его комментарием. Комментарий передаётся ключом -m
git commit -m 'project started'
Изменения отправляем на удаленный сервер.
*
Если имя изменено также как в примере выше, то команда будет выглядеть как git push production master
git push origin master
add remote сопоставляет локальный репозиторий с удаленным и синхронизирует их состояния.
git push upstream
При частых push-ах удобно пользоваться опцией -u (upstream). С неё можно не указывать ветку, что экономит время при частых push-ах
upstream после добавления удаленного репозитория можно создать такой командой
git push --set-upstream production master.
Если не указать upstream и выполнять git push REPO, а не git push REPO master , то будет ошибка:
После добавления upstream можно отправлять изменения в репозиторий:
git push -u
upstream связывает ветку в локальном репозитории с веткой в удаленном. Обычно они одинаковы, но могут быть и разные ветки.
Если имена веток одинаковы и коммиты всегда идут только в одноименные ветки — можно установить deafult upstream.
git config push.default current
Однако это затруднит отслеживание изменений.
Для того чтобы контролировать изменения (в т.ч. локальные-удаленные) используется git diff.
Читайте про создание аккаунта на github. В материале приводится пример работы с репозиторием, в том числе его подключение на локальной машине.