Git: Управление каждой версией моего приложения? - PullRequest
26 голосов
/ 23 марта 2011

Я использую git и github, и я только что закончил версию 1.0 своего приложения для iOS. Отсюда мне интересно, как мерзавец может лучше всего служить мне.

Я просто ищу здесь лучшую практику и то, что другие рекомендуют для управления основными версиями.

Должен ли я создавать новую ветку для каждой новой версии, например, для 1.1, 1.5, 2.0 и т. Д.? Или мне просто продолжать нажимать на главную ветку? Если да, то как мне это сделать?

Ответы [ 4 ]

32 голосов
/ 23 марта 2011

Я бы рекомендовал использовать теги ( руководство по тегам )

Из вашей основной ветки, так как вы закончили 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 всегда остается в рабочем состоянии, и только готовые элементы добавляются, как только они готовы.Это позволит вам всегда сохранять рабочую копию приложения (в идеале в любом случае) для тестирования и т. Д.

Вы можете использовать ветви для каждой версии приложения, однако использование тегов делает это невозможным.случайно слиться с другой версией ветки.

6 голосов
/ 23 марта 2011

Лично для больших проектов я применил большинство методов, показанных в этой статье:

http://nvie.com/posts/a-successful-git-branching-model/

Это сработало очень хорошо для меня, и теперь есть даже библиотеки и инструменты, которые помогут вам следовать методологии: http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/

2 голосов
/ 10 апреля 2014

Вы также можете использовать новый механизм GitHub Releases . Это способ управления версиями программного обеспечения с помощью GitHub.

2 голосов
/ 23 марта 2011

Это зависит от того, хотите ли вы поддерживать старые версии только с исправлениями ошибок.Если вы хотите добавить исправления ошибок в 1.0 при добавлении новых функций в 2.0, вы создаете ветку 2.0, объединяете все исправления ошибок в обе ветви и функции в 2.0.Но для каждого выпуска в каждой ветке все, что вам нужно, это тег.Просто не забудьте ветку из самой старой ветви, в которую вы собираетесь слиться.

...