Синхронизация ветви вилки из пользовательского веб-интерфейса
-
В GitHubпротивном случае перейдите на главную страницу вилированного репозитория, который требуется синхронизировать с вышестоящим репозиторием.
-
Над списком файлов выберите раскрывающееся меню "Синхронизация вилки ".

-
Просмотрите сведения о фиксациях из вышестоящего репозитория, а затем щелкните Обновить ветвь.
Если изменения из вышестоящего репозитория вызывают конфликты, GitHub вам будет предложено создать запрос на вытягивание, чтобы устранить конфликты.
Синхронизация ветви вилки с помощью GitHub CLI
GitHub CLI — это инструмент с открытым исходным кодом для использования GitHub из командной строки компьютера. При работе с командной строкой можно использовать GitHub CLI — это позволит экономить время и не переключать контекст. Чтобы узнать больше о GitHub CLI, смотрите О GitHub CLI.
Чтобы обновить удаленную вилку из родительского элемента, используйте подкоманду gh repo sync -b BRANCH-NAME и укажите имена вилки и ветви в качестве аргументов.
gh repo sync owner/cli-fork -b BRANCH-NAME
Если изменения из вышестоящего репозитория вызывают конфликты, GitHub CLI не удается синхронизировать. Чтобы перезаписать целевую --force ветвь, используйте флаг.
Синхронизация ветви вилки из командной строки
Прежде чем синхронизировать вилку с вышестоящим репозиторием, необходимо настроить удаленный репозиторий, указывающий на вышестоящий репозиторий в Git. См . раздел AUTOTITLE.
-
Откройте терминал или Git Bash.
-
Измените текущий рабочий каталог на локальный проект.
-
Получение ветвей и их соответствующих фиксаций из вышестоящего репозитория. Фиксации в
BRANCH-NAMEбудут храниться в локальной ветвиupstream/BRANCH-NAME.$ git fetch upstream > remote: Counting objects: 75, done. > remote: Compressing objects: 100% (53/53), done. > remote: Total 62 (delta 27), reused 44 (delta 9) > Unpacking objects: 100% (62/62), done. > From https://HOSTNAME/ORIGINAL-OWNER/ORIGINAL-REPOSITORY > * [new branch] main -> upstream/main -
Проверьте локальную ветвь по умолчанию вилки. В этом примере мы используем
main.$ git checkout main > Switched to branch 'main' -
Слияние изменений из вышестоящей ветви по умолчанию в локальную ветвь по умолчанию. В этом примере ветвь по умолчанию вышестоящей.
upstream/mainЭто синхронизирует ветвь по умолчанию вилки с вышестоящим репозиторием без потери локальных изменений.$ git merge upstream/main > Updating a422352..5fdff0f > Fast-forward > README | 9 ------- > README.md | 7 ++++++ > 2 files changed, 7 insertions(+), 9 deletions(-) > delete mode 100644 README > create mode 100644 README.mdЕсли локальная ветвь не имеет уникальных фиксаций, Git выполнит быстрое перемещение вперед. См. раздел "Базовая ветвь и слияние " в документации по Git.
$ git merge upstream/main > Updating 34e91da..16c56ad > Fast-forward > README.md | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-)Если локальная ветвь имела уникальные фиксации, возможно, потребуется устранить конфликты. См . раздел AUTOTITLE.
Совет
Синхронизация вилки обновляет только локальную копию репозитория. Чтобы обновить вилку ваш экземпляр GitHub Enterprise Server, необходимо отправить изменения.