Как обновить свою ветку git последними изменениями из главной ветки (develop)

Есть ветки:

master
develop
person A
person B

Два человека работают над разными задачами — person A и person B. Когда person A завершает работу над своей задачей, после проверки и тестов он объединяет изменения своей ветки с develop.

Вопрос: Как B можно перенести последние изменения, которые A были сделаны, из develop в его ветку person B?

Решения

Для человека В рекомендуется вносить новые изменения в свою ветку b как можно скорее после того, как человек А перенесет изменения в develop/main.

Это сделано для того, чтобы человек В работал над последним кодом и их возможное объединение в develop/main было простым.

Вариант 1

  1. Зафиксировать все изменения в ветке feature_branch (git status показывает clean)
  2. Переключиться на ветку develop: git checkout develop
  3. git pull — это извлекает (загружает) изменения на Bкомпьютер пользователя (в ветку origin/develop) и объединяет эти изменения в текущую проверенную локальную ветку (в данном случае ветку develop). Обычно эта операция должна выполняться «ускоренной перемоткой» (чтобы не было конфликтов слияния)
  4. Переключиться на свою ветку: git checkout feature_branch
  5. git merge develop — это объединяет изменения из bлокальной develop ветки в feature_branch.
  6. git mergetool — разрешение конфликтов
  7. git commit — зафиксируйте слияние

С этой опцией b оба являются локальными develop и feature_branch имеют последние изменения.

Вариант 2

  1. Зафиксировать все изменения в ветке feature_branch (git статус показывает clean)
  2. git fetch origin develop при этом загружаются последние изменения в develop, но не объединяются с локальными develop
  3. git merge origin/develop — это объединяет изменения из загруженной версии develop в feature_branch.

В этом сценарии bлокальные feature_branch будут иметь самые последние изменения из develop поскольку они находятся в удаленном репозитории, а их локальные develop не будут иметь этих изменений. Это нормально, поскольку b не работает над develop, (ами) над которыми он работает feature_branch.

Ссылки по теме

 

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*


10 + 5 =