Обновление текущей ветки из родительской ветки
Я создал новую ветвь git B
из ветки A
с возможностью отслеживания.
Теперь, когда ветвь A
обновляется несколькими коммитами, я хочу также вытащить коммиты в B
, поэтому я могу отслеживать ее, и мне не придется сталкиваться с большими изменениями иногда позже.
Как мне подойти к этому? Это делается автоматически в git?
Ответы
Ответ 1
Это не делается автоматически. Вы должны вручную объединить свои изменения с A на B, что довольно просто. Просто переключитесь на ветвь B и сделайте
git merge A
Будет автоматически слияние ваших изменений с A на B. Если у вас нет конфликтов, все изменения в будут отмечены как объединенные в B. Общими рекомендациями являются ежедневные слияния, но который зависит от количества пользователей/коммиттов, использующих вашу ветку.
Ответ 2
Предполагая, что ваш вызов для создания B
был git clone /path/to/server/A
, вам просто нужно сделать git pull
, и все готово. Это как git pull
работает: сначала он fetch (с учетом отслеживаемой ветки A
в вашем случае), затем merge эти изменения в ветку, которая отслеживает (B
в вашем случае).
Git Book и Pro Git обсудите эту тему в глубину, поэтому их стоит прочитать (если вы не торопитесь, прочитайте и остальную часть).
Ответ 3
Другой вариант - сделать git fetch A
и git merge A
.
Сообщение в блоге, описывающее причину для этого так