Skip to main content

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

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

Platform navigation

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. В GitHub Desktopщелкните Current Branch.

    Снимок экрана: панель репозитория. Кнопка с меткой Current Branch со стрелкой вниз, указывающей раскрывающееся меню, описывается оранжевым цветом.

  2. Нажмите кнопку " Выбрать ветвь", чтобы объединиться в BRANCH.

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

  3. Щелкните ветвь, которую вы хотите объединить в текущую ветвь, а затем нажмите кнопку "Объединить ветвь" в BRANCH.

    Примечание. Если есть конфликт слияния, GitHub Desktop предупреждает вас над кнопкой Merge BRANCH в BRANCH. Вы не сможете выполнить слияние ветвей, пока не устраните все конфликты.

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

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

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

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

    Снимок экрана: строка меню на Компьютере Mac. В раскрывающемся меню "Ветвь" курсор над параметром с меткой "Rebase Current Branch".

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

  2. Щелкните ветвь, которую нужно перебазировать в текущую ветвь, а затем нажмите кнопку "Перебаза".

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

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

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

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

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

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

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

    Снимок экрана: строка меню "GitHub Desktop" в Windows. В раскрывающемся меню "Ветвь" выберите "Squash and merge in curre..." выделен оранжевым цветом.

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

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

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

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

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