Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы, возможно, еще выполняется. Актуальные сведения см. в документации на английском языке.
Update to the latest version of GitHub Desktop before February 2 to avoid disruptions. For more information, see the GitHub blog post.

Синхронизация ветви

Так как фиксации передаются в проект в GitHub, вы можете синхронизировать локальную копию проекта путем ее извлечения из удаленного репозитория.

Сведения о синхронизации ветвей

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

При вытягивании в локальную ветвь вы обновляете только локальную копию репозитория. Чтобы обновить ветвь на GitHub, необходимо отправить изменения. Дополнительные сведения см. в разделе Отправка изменений в GitHub.

Чтобы добавить изменения из одной ветви в другую, можно выполнить слияние ветвей. Чтобы применить изменения к вашей ветви из другой ветви в том же репозитории, можно выполнить слияние другой ветви в вашу в GitHub Desktop. Чтобы запросить объединение изменений из вашей ветви в другую ветвь в том же репозитории или в другом репозитории в сети, можно создать запрос на вытягивание в GitHub Desktop. Дополнительные сведения см. в разделах Слияние другой ветви с ветвью проекта и Сведения о запросах на вытягивание.

Для некоторых рабочих процессов обязательным или предпочтительным является перемещение изменений из одной ветви в другую, а не слияние. При этом вы можете переупорядочивать, изменять фиксации или выполнять их сжатие. Дополнительные сведения см. в разделах О перемещении изменений между ветвями в Git и Перебазирование ветви проекта в другую ветвь.

Извлечение из удаленной ветви в локальную

  1. В GitHub Desktopиспользуйте раскрывающийся список Текущая ветвь и выберите локальную ветвь, которую хотите обновить.

  2. Чтобы проверить наличие фиксаций в удаленной ветви, щелкните Выбор источника.

    Снимок экрана: панель репозитория. Кнопка "Выбор источника", отображаемая со значком двух стрелок, образующих круг, выделена оранжевым цветом.

  3. Чтобы извлечь все фиксации из удаленной ветви, нажмите кнопку Pull origin (Отправить в origin) или Pull origin with rebase (Отправить в origin с перемещением изменений).

    Снимок экрана: панель репозитория. Кнопка "Источник извлечения", отображаемая значком стрелки вниз, выделена оранжевым цветом.

  4. Устраните все конфликты слияния предпочтительным способом: с помощью текстового редактора, командной строки или другого средства. Дополнительные сведения см. в разделе Разрешение конфликтов слияния.

Слияние другой ветви с вашей ветвью проекта

  1. В GitHub Desktop, щелкните Текущая ветвь.

    Снимок экрана: панель репозитория. Кнопка с меткой "Current Branch" (Текущая ветвь) со стрелкой вниз, обозначающая раскрывающееся меню, выделена оранжевым цветом. 1. Щелкните Выбрать ветвь для слияния с BRANCH.

    Снимок экрана: раскрывающееся представление "Current Branch" (Текущая ветвь). Под списком ветвей в оранжевый цвет выделена кнопка "Выбрать ветвь для слияния с my-feature". 1. Щелкните ветвь, которую нужно объединить в текущую ветвь, а затем щелкните Объединить ветвь в ветвь.

    Примечание: Если возникают конфликты слияния, GitHub Desktop выдаст предупреждение над кнопкой Объединить ветвь в ветвь . Вы не сможете выполнить слияние ветвей, пока не устраните все конфликты.

    1. Чтобы отправить локальные изменения в удаленный репозиторий, на панели репозитория щелкните **Отправить источник**. ![Снимок экрана: панель репозитория. Кнопка с меткой "Push origin" выделена оранжевым контуром.](/assets/images/help/desktop/push-to-origin.png)

Перемещение изменений из вашей ветви проекта в другую

  1. В строке меню выберите Ветвь, а затем щелкните Перебазировать текущую ветвь.

    Снимок экрана: строка меню на компьютере Mac. В развернутом раскрывающемся меню "Ветвь" наведите указатель мыши на параметр с меткой "Изменить текущую ветвь".

    Снимок экрана: строка меню "GitHub Desktop" в Windows. В развернутом раскрывающемся меню "Ветвь" параметр с меткой "Изменить текущую ветвь" выделен оранжевым цветом.

  2. Выберите ветвь, которую вы хотите перебазировать в текущую ветвь, а затем щелкните Перебазировать.

  3. Если вы уверены, что хотите перебазировать, нажмите кнопку Начать перебазировать.

  4. Устраните все конфликты слияния предпочтительным способом: с помощью текстового редактора, командной строки или другого средства. Дополнительные сведения см. в разделе Разрешение конфликтов слияния.

  5. Чтобы отправить локальные изменения, нажмите кнопку Force push origin (Принудительно отправить origin).

    Снимок экрана: панель репозитория. Кнопка с меткой "Принудительная отправка источника" и отображаемая значком двойной стрелки вверх, выделена оранжевым цветом.

Слияние со сжатием другой ветви с вашей ветвью проекта

  1. В строке меню выберите Ветвь, а затем щелкните Squash и Объединить в текущую ветвь.

    Снимок экрана: строка меню на компьютере Mac. В развернутом раскрывающемся меню "Ветвь" наведите указатель мыши на параметр с меткой "Squash and Merge into Current Branch".

    Снимок экрана: строка меню "GitHub Desktop" в Windows. В развернутом раскрывающемся меню "Ветвь" параметр с меткой "Сквош и слияние в curre..." выделен оранжевым цветом.

  2. В окне "Сквош и слияние" щелкните ветвь, которую вы хотите объединить с текущей ветвью, а затем щелкните Squash и merge (Сквош и слияние).

    Примечание. При наличии конфликтов слияния GitHub Desktop выведет предупреждение над кнопкой Squash and merge (Слияние со сжатием). Вы не сможете выполнить слияние со сжатием для ветви, пока не устраните все конфликты.

    1. Чтобы отправить локальные изменения в удаленный репозиторий, на панели репозитория щелкните **Отправить источник**.

    Снимок экрана: панель репозитория. Кнопка с меткой "Push origin" выделена оранжевым контуром.

Дополнительные материалы