=======================================================
GIT работа с удаленными репозиториями
=======================================================
=================================================
# Основные команды для удаленных репозиториев:
=================================================
git branch -a # See both local and remote branches
git branch -r # See only remote branches
git remote show # See remote branches and associated metadata
------------------------------------------------------
# Показать удаленные ветки (маркеры на ветки)
git remote show
# Удалить удаленную ветку (маркер на ветку)
git remote remove dev
# Показать детальную информацию об удаленных ветках
git remote show origin
git remote show dev
# Показать все лакальные ветки их привязку к удаленным веткам:
git branch -vv
# Подтянуть себе всю информацию об удаленных ветках
git fetch --all
# Добавить ветку и привязать к удаленной ветке (одна команда)
git checkout -b dev origin/dev
# Добавить ветку и привязать к удаленной ветке (две команды)
git checkout -b my_branch
git branch --track dev origin/dev
# Добавить себе маркер на удаленную ветку
git remote add dev git@gitlab.com:adlabs_rvinter/complexbar-b2b.git
# Назначить ссылку на репозиторий своего маркера (если там другой)
git remote set-url origin git@gitlab.com:adlabs_rvinter/complexbar-b2b.git
# DEV:
git pull origin dev
git push origin dev
# MASTER:
git pull origin master
git push origin master
=======================================================
GitHub: Выгрузка локальных файлов
=======================================================
--------------------------------------------------------------------------------
A) Подготовка локальной папки
--------------------------------------------------------------------------------
cd ~/my_local - Переходим в нужную папку на компе
git config --list - Проверяем установленные конфиги Git
(если не ок, устанавливаем нужные конфиги)
git init - Инициализируем git
git add -A - Добавляем все новые папки и файлы на сцену
git commit -m "init" - Добавляем первый коммит
--------------------------------------------------------------------------------
B) Подготовка репозиторий на GitHub
--------------------------------------------------------------------------------
- Логинимся на Github
- Создаем новый пустой репозиторий (Указываем Имя репозитория и описание)
- Копируем путь к репозиторию (если репозиторий пустой записана инструкция)
Например: https://github.com/igorcomputer/my_repo.git
--------------------------------------------------------------------------------
C) Выгрузка лакальной папки в репозиторй Github
--------------------------------------------------------------------------------
- Запускаем в лакальной папке следующие команды:
git remote add origin https://github.com/igorcomputer/my_repo.git - Добавляем удаленную ветку
git push -u origin master - Пушим лакальную папку в удаленную ветку
ключ -u (--set-upstream) - связывает лакальную ветку с удаленной
Примечание: Если в удаленном репозитории уже есть файлы, выгрузить данные не получится,
т.к. ветки истории в лакальной папке и удаленном репозитории будут не связаны.
В этом случае можно выполнить команду:
git push -f origin master - принудительная выгрузка репозитория (затрет ветку удаленной истории)
ключ -f (--force)
--------------------------------------------------------------------------------
D) Выгрузка других лакальный веток на удаленный сервер
--------------------------------------------------------------------------------
git checkout -b new_branch - создаем новую лакальную ветку от текущей и переходим на нее.
git push -u origin new_branch - выгружаем новую текущую ветку в удаленный репозиторий
(имя удаленной ветки - new_branch)
или тоже самое но с другим именем:
git push -u origin my_branch - в этом случае лакальная ветка называется - new_branch,
а удаленная - my_branch
-u (--set-upstream) - флаг привязки лакальной ветки к удаленной
(указывается один раз, в дальнейшем можно не указывать)
--------------------------------------------------------------------------------
Просмотр данных о ветках (удаленных)
--------------------------------------------------------------------------------
git branch -v - список удаленных веток (показывает ветки и хеши коммитов)
git remote -v - список адресов для чтения и записи, привязанных к репозиторию
(показывает пути к репозиториям)
--------------------------------------------------------------------------------
Удаление удаленных веток
--------------------------------------------------------------------------------
git push origin --delete fix_branch
--------------------------------------------------------------------------------
Полезные ссылки:
--------------------------------------------------------------------------------
Как выложить свой проект на Github:
https://www.youtube.com/watch?v=CUDgSbaYGx4
Откат ошибочной команды git push --force
https://gist.github.com/igorcomputer/efa0e8f0f031a7b9d87c9f045d8e52b3
Подробно о работе с удаленным репозиториями:
https://git-scm.com/book/ru/v2/Основы-Git-Работа-с-удалёнными-репозиториями
Git & Github от Javascript.ru - Крэш Курс (Командная разработка с Pull Request)
https://www.youtube.com/watch?v=p93BmpSr1cE&list=PLDyvV36pndZEgSRzWGuXFrTRUFuAAMciE