Ожидается, что ветки Git - это способ работы над одной базой кода несколькими людьми одновременно.Сделать это;он использует базовое состояние кода в данный момент в качестве ссылки.Поэтому, когда у вас ветвь b
из dev
находилась на определенном уровне, который отличался от ветви a
.
Следующее должно быть что-то, когда вы выглядите как ветви, когда вы создаете новую ветку B
(2)
/------- A ---------
----(1)---- Dev ---(2)-----------------
\--------- B -----
Теперь где-то вдоль линии ветвь A
сливается обратно с Dev
(3).Так что это должно быть то, как должна выглядеть ветка
/------- A ----------\
----(1)---- Dev ---(2)----(3)----------------
\--------- B -----------
Теперь, когда вы находитесь на ветке Dev
, она знает об изменениях с A
(3) с момента ее слияния назад.
Но ветвь B
не знает об этом, поскольку она сливается с Dev
(2) до слияния ветки A
(3).
Чтобы получить ветку B
встроенный с Dev
, теперь у вас есть два варианта.
- Объединены
Dev
в B
.git checkout b; git merged dev
- Перебазировать
Dev
на B
.git checkout b; git pull --rebase origin dev
.Не рекомендую это, если вы новичок для мерзавца.Иногда это может пойти не так в спешке.