Когда вы разветвляете чей-то репозиторий на GitHub, вы захотите обновить свой форк с любыми изменениями, внесенными в оригинал. Есть разные способы сделать это. В этом кратком совете Bruno описывает, как обновить ваш форк через сайт GitHub. Другой вариант — обновить ваш форк через командную строку .
Мне часто приходится обновлять свой форк чьего-либо репо, чтобы включить в него изменения, внесенные в оригинал со времени форка. На самом деле, мы часто используем этот подход и в системе рецензирования SitePoint.
Совершенно случайно, я недавно обнаружил способ быстро и легко синхронизировать форк с исходным репо через веб-интерфейс GitHub, поэтому не нужно идти на коммандос (используйте командную строку).
Обратите внимание, что подход ниже делает коммит слияния, а не правильную перебазировку. Если вы понимаете, что это значит, это то, что будет иметь значение для вас. Короче говоря, история выглядит иначе, чем при синхронизации через командную строку в соответствии с документацией Github . Никакого реального эффекта, но только один на один!
Вот пошаговое руководство применительно к моей устаревшей ветке Gatekeeper :
Шаг 1: Новый PR
Перейдите к пользовательскому интерфейсу своего форка и нажмите кнопку «New Pull Request»:
Это приведет вас к экрану, не слишком отличающемуся от этого:
Шаг 2: Базовый переключатель
Если есть возможность попробовать «переключение базы», щелкните по ней.
Если этой опции нет, переключите базы вручную, используя предоставленные выпадающие списки, и настройте их так, чтобы вилка находилась слева, а оригинал — справа, например, так:
Шаг 3: Отправить и объединить
Нажмите зеленую кнопку «Создать запрос на извлечение». В появившихся полях ввода присвойте ему заголовок типа «Синхронизация с оригиналом». При желании добавьте описание.
Опять же, нажмите кнопку «Создать запрос на извлечение», чтобы фактически отправить PR. Результат должен быть типичным пиаром экрана:
Не стесняйтесь объединить его с помощью кнопки «Merge Pull Request» (и «Confirm Merge» впоследствии), и все готово!
Выполнено!
Вот и все — ваш форк теперь синхронизирован с изменениями, внесенными в оригинал, и вы можете начать работать над ним, не опасаясь конфликтов.