Я использовал git какое-то время для моих одноманговых разработок, но до сих пор я не сталкивался с какими-то сложными проблемами ветвления, и я, кажется, забыл что-то фундаментальное, что я, без сомнения, "знал" просто после прочтения Прагматического контроля версий с помощью git Book..
Я часто несколько выпусков, опережающих то, что действительно опубликовано на моем веб-сайте, поэтому, когда приходит отчет об ошибке, я применяю их только к текущему мастер-ветки, а не исправляю их в следующей выпущенной версии. Конечно, я бы хотел изменить это, чтобы быстрее исправить ошибки.
Скажем, 1.0 был только что выпущен, 1.1 скоро будет выпущен, но я уже работаю над 1.3, например.
1.0 - released
1.1 - finished
1.2 - finished
1.3 - in development
Появляется отчет об ошибке. Обычно это будет исправлено в версии 1.3, но как мне его исправить в версии 1.1?
Насколько я знаю в svn и других "традиционных" системах управления версиями, мне нужно будет разделить B.1.1 и B.1.2 и применить изменения к каждой ветки по очереди, затем построить из каждой ветки и, наконец, применить исправление к главной ветке.
Я, кажется, помню, что git, однако, делает что-то умное: я ветвь B.1.1, делаю там изменения, делаю {что-то} и B.1.2, а главные ветки автоматически обновляются с исправлением. Возможно ли это или я представляю себе что-то?