Единственная разница в том, для чего вы их используете, они одинаковы.
Ветвь - это место, где вы можете разрабатывать работу над другой версией кода для основной магистрали.
Тег используется для «маркировки» релиза.Допустим, я работаю только на багажнике.Когда я отправляю V1 клиенту, я создаю для него тег V1.Затем я работаю на V2.Когда у клиента возникает проблема с V1, я могу просто проверить тег и начать отладку проблемы в той же версии, что и у клиента.Вы можете проверить в теге, но вы не должны .Если вам нужно сделать выпуск V1.1, вы создаете ветку из той же версии, что и тег V1, и фиксируете исправления к нему, и отмечаете его, когда он выпускается как V1.1.