Инструкция по Git - Victor-Y-Fadeev/qreal GitHub Wiki
Первоначальная настройка
Настройка имени пользователя и адреса электронной почты:
$ git config --global user.name 'Your name'
$ git config --global user.email [email protected]
Загрузка репозитория:
$ git clone https://github.com/user-name/repository
Загрузка всех подмодулей:
$ git submodule update --init --recursive
Сохранение данных аккаунта (linux):
$ git config credential.helper store
Удаление данных аккаунта (linux):
$ git config --unset credential.helper
Коммиты и работа с ветками
Фиксирование изменений в репозитории - коммит.
Просмотр текущих изменений в репозитории:
$ git status
Добавление файлов (всех измененных), создание коммита и отправки изменений на сервер:
$ git add .
$ git commit -m 'Your comments (where you can use "")'
$ git push
Список коммитов:
$ git log
Создание новой ветки (от той в которой вы находитесь!):
$ git checkout -b your-new-branch
Первая отправка новой ветки на сервер:
$ git push --set-upstream origin your-new-branch
Получение удаленной ветки:
$ git checkout --track origin/server-branch
Переключение на другую ветку:
$ git checkout other-branch
P.S.
По нашему стайлгайду название ветки - iotik-v1-0-your-work
.
Откат изменений и удаление веток
Внимание, использовать только в крайнем случай!
Откат индексации и изменений (всех файлов) до последнего коммита:
$ git reset HEAD .
$ git checkout .
Изменение файлов и комментария последнего коммита с перезаписью на сервере:
$ git add .
$ git commit --amend -m 'New comments'
$ git push --force
Удаление локальной ветки:
$ git branch -d remove-branch
Удаление ветки на сервере:
$ git push origin :remove-server-branch
Полное стирание ветки на сервере:
$ git push origin --delete remove-server-branch
P.S.
На сервере ничего не стирать.
Слияние веток
Получение изменений из другой ветки (в текущую):
$ git merge branch-whats-you-want
Запрос на слияние (в основную ветку):
- Создать Pull request
- Выбрать репозиторий в котором хранится ветка -
base fork
- Указать ветку куда следует добавить изменения -
base
- Указать ветку с требуемыми изменениями -
compare
- Добавить название слияния и комментарий
P.S.
Наша основная ветка разработки - iotik-v1-0
.