Skip to main content

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

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

Platform navigation

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

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

При вытягивании в локальную ветвь вы обновляете только локальную копию репозитория. Чтобы обновить ветвь на 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.

    Note

    Если есть конфликт слияния, 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 и слияние.

    Note

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

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

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

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