Синхронизация fork-a на github с основным репозиторием
Здравствуй, мой дорогой друг!
Я наставник **some secret organization** В мои обязанности входит проверка домашних заданий и помощь в поиске истины на сложном пути к гордому званию Frontend-разработчик.
В **some secret organization** весь учебный процесс построен через 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 branchgit commit -am 'merge'
git push
Прошу заметить, что если вы произвели merge с новой локальной веткой, стоит использовать команду:
// Команда отправляет данные и новую ветку на remote сервер
git push origin new-branch
Вот собственно и все. Не так страшно как может показаться на первый взгляд. Так что, ничего не бойтесь и двигайтесь вперед.
Да прибудет с Вами сила!
Если было полезно и интересно — купите мне книгу!