Синхронизация fork-a на github с основным репозиторием

Здравствуй, мой дорогой друг!

Я наставник HtmlAcademy. В мои обязанности входит проверка домашних заданий и помощь в поиске истины на сложном пути к гордому званию Frontend-разработчик.

В Академии весь учебный процесс построен через git. Вся работа по проверке ведется через Github репозитории. Это здорово, так как очень удобно контролировать процесс, а студенты учатся работе с git, подготавливая почву для работы над реальными проектами.

Работа строиться по схеме:

мастер ветка -> новая ветка под задачу -> merge с релизной веткой Академии-> актуализация своего мастера

В чем проблема?

Часто ребята, начинающие работать из консоли, сталкиваются с проблемами актуализации состояния master ветки из основного репозитория Академии. Еще усложняет ситуацию тот факт, что у многих есть языковой барьер и игра с гугл в “Вопрос-Ответ” сильно усложняется.

Я решил написать простой мануал, на родном языке, с картинками, чтобы в случае необходимости делиться ссылкой и радоваться жизни.

Поехали!

Если вдруг Вам понадобиться синхронизировать свою master ветку или любую другую ветку своего fork-а с основным репозиторием. Делаем следующее:

// Добавляем адрес для отслеживаемой веткой (upstream branch) основного репозитория
git remote add upstream https://github.com/god/HelloWorldRepo.git
// Просматриваем все удаленные ветки
git remote -v

Ключ [-v | — verbose] необходим для показа подробной информации о удаленных ветках.

Хочу заметить, что после выполнения команды git remote add upstream должны появиться репозиторий upstream, как видно на картинке.

// Получаем себе веточки
git fetch upstream
// Делаем merge нужной нам ветки с master основного репозитория
git merge upstream/master
// Убеждаемся что все получилось. В данном случае разница всего в 1 commit
git status
// Отправляем все подученные изменения на remote branch
git commit -am 'merge'
git push

Прошу заметить, что если вы произвели merge с новой локальной веткой, стоит использовать команду:

// Команда отправляет данные и новую ветку на remote сервер
git push origin new-branch

Вот собственно и все. Не так страшно как может показаться на первый взгляд. Так что, ничего не бойтесь и двигайтесь вперед.

Да прибудет с Вами сила!