Удаленный репозиторий Git
Использовать Git можно локально, или можем хранить историю коммитов удалённых репозиториев, которую можно отслеживать и обновлять.
Подключение к удаленному репозиторию remote
Добавить удалённый репозиторий с именем origin
по указанному URL:
git remote add origin https://gitflic.ru/project/hmarketing/test.git
Подключение с использованием ключей SSH
Если после обычного подключения без SSH ключей, был добавлен ключь, необходимо изменить remote
проекта, чтобы продолжить в нем работу, но лучше всего можно удалить папку с проектом и спулить по новой.
Переименовываем репозиторий:
git remote rename origin old-origin
Добавить удалённый репозиторий:
git remote add origin git@gitflic.ru:<username>/<project>.git
Добавляем в индекс файлы если они есть:
git add .
Комитим изменения если они есть:
git commit -m "Подключен SSH"
Пушим изменения, тем самым проверяем доступ по SSH:
git push -u origin master
Список доступных репозиториев remote
Посмотреть список доступных удаленных репозиториев:
git remote
Посмотреть детальный список доступных удаленных репозиториев:
git remote -v
Получение данных репозитория pull
Cкачивание данных с сервера, похоже на клонирование репозитория, при этом скачиваются не все коммиты, а только новые. При этом нужно понимать что будут скачены только новые коммиты:
git pull origin название_ветки
origin
наш настроенный удаленный репозиторий, псевдоним установленный как ключ вместо URL
удаленного репозитория.
git pull
является аналогом последовательного выполнения двух команд:
git fetch
git merge
Командой git fetch
мы получаем историю изменений удаленного репозитория, не применяя её к рабочему каталогу. Её можно посмотреть командой git log
. Чтобы применить эти изменения надо сделать git merge origin/master
.
Принудительная перезапись локальных файлов
Если у вас есть какие-либо локальные изменения, они будут потеряны. Если есть файлы, которые не отслеживаются Git, эти файлы не будут затронуты.
Загружаем последние данные с удаленного репозитория:
git fetch --all
Cбрасываеv основную ветвь к той, которую только что получили. Опция --hard
изменяет все файлы в вашем рабочем дереве в соответствии с файлами в origin/название_ветки
:
git reset --hard origin/название_ветки
Клонирование данных репозитория clone
Клонировать удаленный репозиторий в директорию:
git clone адрес_репозитория директория
Клонировать ветку удаленного репозитория в директорию:
git clone --branch название_ветки адрес_репозитория директория
Клонировать удаленный репозиторий в одноименную директорию:
git clone адрес_репозитория
Клонировать ветку удаленного репозитория в одноименную директорию:
git clone --branch название_ветки адрес_репозитория
Ветки при клонировании
После клонирования репозитория все ветки которые были в гите, клонировались в локальную копию. Ветки клонировались но не создались, для пользования ветками их нужно создать.
Клонируем репозиторий:
git clone адрес_репозитория директория
Посмотрите на локальные ветки репозитория, будет доступна одна единственная master
:
git branch
В репозитории скрыты обсалютно все ветки, для просмотра используется флаг -a
:
git branch -a
Востановим ветку, после чего появятся все файлы ветки:
git checkout имя_ветки
Отправка данных в репозиторий push
Отправка данных ветки на сервер, в удаленный репозиторий:
git push origin название_ветки
Отправка данных всех веток на сервер, в удаленный репозиторий:
git push origin --all
origin
наш настроенный удаленный репозиторий, псевдоним установленный как ключ вместо URL
удаленного репозитория.
Отключится от удаленного репозитория remote
Отключится от удаленного репозитория:
git remote rm имя_репозитория