Sourcetree graph показывает только основную ветку
2 ответа
График четко показывает master
, feature
а также developer
ветви. master
находится на начальном коммите, feature
а также developer
находятся на самом последнем коммите. Пожалуйста, не указывайте их ярлыки в списке перед тем, как фиксировать темы.
Кажется, история вашего проекта никогда не расходилась. Вы создали первоначальный коммит (на master
) затем создал developer
а также feature
ветви. Они изначально указывали на тот же коммит, что и master
ветка.
Вы создали несколько коммитов на developer
филиал (я думаю), то вы проверили feature
филиал и слил developer
ответвление в него. Когда это произошло, developer
филиал был там, где он сейчас и feature
ветвь была на том же коммите как master
ветка.
Поскольку feature
ветвь (цель слияния) была несколько коммитов позади developer
ветвь (источник слияния), и она не содержала никакого коммита, которого еще не было в ветке слияния, Git смог "перемотать" вперед feature
ветвь, чтобы достичь developer
ветка. Не было необходимости создавать новый коммит.
"Перемотка вперед" является стратегией слияния по умолчанию, и Git использует ее всякий раз, когда это возможно (когда целевая ветвь слияния является предком ветки слияния источника). Вы можете заставить его создать коммит слияния (и игнорировать стратегию "ускоренной перемотки вперед"), добавив --no-ff
в git merge
командная строка. Если вы используете Git-клиент с графическим интерфейсом, найдите флажок "Нет перемотки вперед" в диалоговом окне Git merge.
Вы не видите никакой "главной ветви", потому что нет новой фиксации в этой ветви. См. Почему график не отображает новую ветвь, ответвляющуюся от главной ветви, когда я создаю новую ветку в терминале? для деталей.