Git хранит историю как дерево (точнее как направленный граф), где узел графа (коммит) это набор изменений (diff). Ветки, несмотря на название, представляют собой просто подвижные указатели на коммит (как указатель на вершину стека или указатель на последний элемент в FIFO очереди реализованной односвязным списком). Другими словами, в гите ветка это не набор коммиттов. Ветки можно создавать, удалять, сдвигать, история репозитория от этого не изменится (ну разве что если останутся коммиты к которым не ведёт ни одна ветка, то их почистит сборщик мусора). Возвращаясь к вашему вопросу, да это нормально. У вас по факту может быть очень много веток, вы можете например создавать локальные ветки которые не будете пушить на сервер, чтобы тестировать какие-то изменения. Тогда граф у вас и на сервере будет отличаться.
Сейчас -да, это разные ветки, коммиты в разных ветках, т.к. , если переходить к графам - это разные листья графа. Так бывает, для того, чтобы, например, делать несколько различающихся версий программ... Или временно: когда делают доработку (фича-бранч), чтобы не мешать основной ветке кода, а потом её вливают в основную
Обсуждают сегодня