Таким образом, вы можете сохранить копию исходного кода, которая была при выпуске этой версии.
Пример:
Вы работаете над своим проектом, фиксируя свои изменения в транке. Когда вы отпускаете, вы делаете тег ствола, как только вы готовы, и больше нет изменений кода.
Затем, как только релиз выйдет в дикую природу, вы продолжите добавлять новые функции и исправления ошибок в ствол.
Затем вы получите сообщение об ошибке, которое необходимо исправить в выпуске 1.1.
Теперь вот проблема. Возможно, вы уже исправили ошибку в своем стволе после освобождения, но вы не хотите выпускать этот код, потому что он имеет новые функции, которые могут быть еще не готовы.
Итак, что вы можете сделать сейчас, поскольку у вас есть копия кода, которая была, когда вы выпустили 1.0 в своем теге 1.0. Вы разветвите тег, примените исправление ошибки (или, возможно, объедините исправление из ствола в ветку), и вы можете выпустить его как 1.1.
Затем вы можете сделать тег 1.1 и повторить процесс столько раз, сколько вам нужно.