Github workflow
Github workflow
87.36K
Category: programmingprogramming

Github workflow

1. Github workflow

2.

Есть удалённый репозиторий заказчика
Nikita/
master

3. Github workflow

4.

Делаем его форк в свой github аккаунт
Nikita/
master
Misha/
master
FORK

5.

Клонируем его себе локально
git clone [email protected]:Misha/Testrepo1.git
Nikita/
master
Misha/
master
master

6.

Добавляем себе основной репозиторий в список удалённых
git remote add nikita [email protected]:Nikita/Testrepo1.git
Nikita/
master
Misha/
master
master

7.

Вносим правки в новой локальной ветке
git checkout -b feature

git commit
feature
Nikita/
master
Misha/
master
master

8.

Отправляем изменения в свой форк
git push -u origin master
Misha/
feature
Nikita/
master
Misha/
master
feature
master

9.

Делаем pull request в основной репозиторий
PULL REQUEST
Misha/
feature
Nikita/
master
Misha/
master
feature
master

10.

Если у нас его отвергли, делаем правки согласно пожеланиям
PULL REQUEST
Misha/
feature
Nikita/
master
Misha/
master
feature
master

11.

Если у нас его отвергли, делаем правки согласно пожеланиям

git commit
feature
PULL REQUEST
Misha/
feature
Nikita/
master
Misha/
master
master

12.

Заливаем правки на свой удалённый репозиторий
git push
Misha/
feature
PULL REQUEST
Nikita/
master
Misha/
master
feature
master

13.

Если его одобрили и владелец вмержил изменения, то мы это
увидим
Misha/
feature
PULL REQUEST
Nikita/
master
Misha/
master
feature
master

14.

В зависимости от вида мержа исходный репозиторий может выглядеть
по-разному. Ниже представлен вариант с “squash and merge”
Misha/
feature
feature
Nikita/
master
Misha/
master
master

15.

Через интерфейс github мы можем удалить ветку в нашем
репозитории, поскольку она больше не нужна
feature
Nikita/
master
Misha/
master
master

16.

Также, можно удалить локальную ветку.
git branch -D feature
feature
Nikita/
master
Misha/
master
master

17.

Также, можно удалить локальную ветку.
git checkout master
git branch -D feature
Nikita/
master
Misha/
master
master

18.

Теперь нужно синхронизировать репозитории по мастеру
Nikita/
master
Misha/
master
master

19.

Вспоминаем, что на 6 слайде мы добавляли репозиторий Nikita в
список удалённых
Nikita/
master
Misha/
master
master

20.

Забираем новые данные из всех удалённых репозиториев
git fetch --all --prune
Nikita/
master
Misha/
master
master

21.

Синхронизируем локальный мастер с основным мастером (Nikita)
git reset --hard nikita/master
Эта команда полностью дублирует всю историю и текущее состояние
ветки мастер из репозитория Nikita. Прежде чем это делать –
убедитесь, что вам это нужно
Nikita/
master
master
Misha/
master

22.

Синхронизируем наш форк с локальным репозиторием
git push origin master
Nikita/
master
master
Misha/
master

23.

Повторяем до посинения
Nikita/
master
master
Misha/
master
English     Русский Rules