Git: управлять каждой версией моего приложения?
Я использую git и github, и я только что закончил версию моего приложения iOS 1.0. Отсюда, мне интересно, как git может мне лучше всего помочь.
Я действительно ищу лучший опыт здесь, и то, что другие рекомендуют для управления основными версиями.
Должен ли я создать новую ветку для каждой новой версии, например, для 1.1, 1.5, 2.0 и т.д.? Или я должен просто продолжать толкать к мастер-ветке? Если да, то как это сделать?
Ответы
Ответ 1
Я бы рекомендовал использовать теги (тег)
С вашей основной ветки, так как вы сделали v1.0, добавьте тег под названием v1.0
.
git tag -a -m "Tagging release 1.0" v1.0
Таким образом, вы всегда можете вернуться к определенной версии в любое время, позвонив git checkout [tag_name]
Другой распространенной практикой является использование ветвей для работы над функциями до тех пор, пока они не станут стабильными.
git checkout -b [feature-branch]
Это создает новую ветвь с именем, которая находится в [feature-branch]
, и проверяет ее. Обязательно сделайте это, чтобы начать работу с этой функцией (обычно от master
).
После стабилизации их можно безопасно объединить в master
. Из master
run:
git merge [feature-branch]
Таким образом, ваш ветвь master
всегда остается в рабочем состоянии, и только готовые элементы будут добавляться после завершения. Это позволит вам постоянно хранить рабочую копию приложения (в идеале в любом случае) для тестирования и т.д.
Вы можете использовать ветки для каждой версии приложения, однако использование тэгов делает так, что вы не можете случайно слиться в другую версию ветки.
Ответ 2
Лично для больших проектов я принял большинство методов, показанных в этой статье:
http://nvie.com/posts/a-successful-git-branching-model/
Для меня это получилось очень хорошо, и теперь есть даже библиотеки и инструменты, которые помогут вам следовать методологии: http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/
Ответ 3
Это зависит от того, хотите ли вы поддерживать более старые версии с исправлениями ошибок. Если вы хотите добавить исправления ошибок в 1.0 при добавлении новых функций в 2.0, вы создадите ветвь 2.0, объедините все исправления ошибок в обе ветки и функции в 2.0. Но для каждого выпуска в каждой ветке все, что вам нужно, это тег. Просто помните о ветке из самой старой ветки, которую вы собираетесь объединить обратно.
Ответ 4
Вы также можете использовать новый механизм GitHub. Это способ управления версиями программного обеспечения с помощью GitHub.