{"meta":{"title":"Синхронизация вилки","intro":"Синхронизация вилированного репозитория с его вышестоящим репозиторием с помощью веб-интерфейса, GitHub CLI или командной строки.","product":"Запросы на включение внесенных изменений","breadcrumbs":[{"href":"/ru/pull-requests","title":"Запросы на включение внесенных изменений"},{"href":"/ru/pull-requests/how-tos","title":"How-tos"},{"href":"/ru/pull-requests/how-tos/work-with-forks","title":"Работа с вилками"},{"href":"/ru/pull-requests/how-tos/work-with-forks/syncing-a-fork","title":"Синхронизация вилки"}],"documentType":"article"},"body":"# Синхронизация вилки\n\nСинхронизация вилированного репозитория с его вышестоящим репозиторием с помощью веб-интерфейса, GitHub CLI или командной строки.\n\n## Синхронизация ветви вилки из пользовательского веб-интерфейса\n\n1. В GitHubпротивном случае перейдите на главную страницу вилированного репозитория, который требуется синхронизировать с вышестоящим репозиторием.\n2. Над списком **файлов выберите раскрывающееся меню \"Синхронизация вилки** \".\n\n   ![Снимок экрана: главная страница вилки. Раскрывающееся меню, помеченное значком синхронизации и словом \"Синхронизация вилки\", описано в темно-оранжевый цвет.](/assets/images/help/repository/sync-fork-dropdown.png)\n3. Просмотрите сведения о фиксациях из вышестоящего репозитория, а затем щелкните **Обновить ветвь**.\n\nЕсли изменения из вышестоящего репозитория вызывают конфликты, GitHub вам будет предложено создать запрос на вытягивание, чтобы устранить конфликты.\n\n## Синхронизация ветви вилки с помощью GitHub CLI\n\nGitHub CLI — это инструмент с открытым исходным кодом для использования GitHub из командной строки компьютера. При работе с командной строкой можно использовать GitHub CLI — это позволит экономить время и не переключать контекст. Чтобы узнать больше о GitHub CLI, смотрите [О GitHub CLI](/ru/github-cli/github-cli/about-github-cli).\n\nЧтобы обновить удаленную вилку из родительского элемента, используйте подкоманду `gh repo sync -b BRANCH-NAME` и укажите имена вилки и ветви в качестве аргументов.\n\n```shell\ngh repo sync owner/cli-fork -b BRANCH-NAME\n```\n\nЕсли изменения из вышестоящего репозитория вызывают конфликты, GitHub CLI не удается синхронизировать. Чтобы перезаписать целевую `--force` ветвь, используйте флаг.\n\n## Синхронизация ветви вилки из командной строки\n\nПрежде чем синхронизировать вилку с вышестоящим репозиторием, необходимо настроить удаленный репозиторий, указывающий на вышестоящий репозиторий в Git. См [. раздел AUTOTITLE](/ru/pull-requests/how-tos/work-with-forks/configuring-a-remote-repository-for-a-fork).\n\n1. Откройте терминал или Git Bash.\n\n2. Измените текущий рабочий каталог на локальный проект.\n\n3. Получение ветвей и их соответствующих фиксаций из вышестоящего репозитория. Фиксации в `BRANCH-NAME` будут храниться в локальной ветви `upstream/BRANCH-NAME`.\n\n   ```shell\n   $ git fetch upstream\n   > remote: Counting objects: 75, done.\n   > remote: Compressing objects: 100% (53/53), done.\n   > remote: Total 62 (delta 27), reused 44 (delta 9)\n   > Unpacking objects: 100% (62/62), done.\n   > From https://github.com/ORIGINAL-OWNER/ORIGINAL-REPOSITORY\n   >  * [new branch]      main     -> upstream/main\n   ```\n\n4. Проверьте локальную ветвь по умолчанию вилки. В этом примере мы используем `main`.\n\n   ```shell\n   $ git checkout main\n   > Switched to branch 'main'\n   ```\n\n5. Слияние изменений из вышестоящей ветви по умолчанию в локальную ветвь по умолчанию. В этом примере ветвь по умолчанию вышестоящей.`upstream/main` Это синхронизирует ветвь по умолчанию вилки с вышестоящим репозиторием без потери локальных изменений.\n\n   ```shell\n   $ git merge upstream/main\n   > Updating a422352..5fdff0f\n   > Fast-forward\n   >  README                    |    9 -------\n   >  README.md                 |    7 ++++++\n   >  2 files changed, 7 insertions(+), 9 deletions(-)\n   >  delete mode 100644 README\n   >  create mode 100644 README.md\n   ```\n\n   Если локальная ветвь не имеет уникальных фиксаций, Git выполнит быстрое перемещение вперед. См. [раздел \"Базовая ветвь и слияние](https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging) \" в документации по Git.\n\n   ```shell\n   $ git merge upstream/main\n   > Updating 34e91da..16c56ad\n   > Fast-forward\n   >  README.md                 |    5 +++--\n   >  1 file changed, 3 insertions(+), 2 deletions(-)\n   ```\n\n   Если локальная ветвь имела уникальные фиксации, возможно, потребуется устранить конфликты. См [. раздел AUTOTITLE](/ru/pull-requests/how-tos/merge-and-close-pull-requests).\n\n> \\[!TIP]\n> Синхронизация вилки обновляет только локальную копию репозитория. Чтобы обновить вилку GitHub.com, необходимо [отправить изменения](/ru/get-started/using-git/pushing-commits-to-a-remote-repository)."}