Подходящая стратегия для пометки и исправления с помощью git - PullRequest
3 голосов
/ 15 ноября 2009

Мне было интересно, подходит ли стратегия, которую я использую для тегов и исправлений тегов (которые затем я использую для развертывания приложений rails) с помощью git.

Для пометки я просто помечаю коммит главной магистрали.

Если это произойдет, я должен исправить тег, я проверяю тег (например, 1.0), исправляю проблему, фиксирую ее и повторно маркирую (например, 1.0.1). Теперь, если мне нужно сделать другое исправление для тега, я повторяю процедуру, используя в качестве первой проверки тег первого исправления (например, 1.0.1).

Теперь я заметил две вещи: 1. когда я проверяю 1.0.1, я получаю предупреждение о том, что я не в филиале - я предполагаю, что это нормально, но подходит ли это как стратегия? 2. при попытке развернуть 1.0.2 я получаю сообщение об ошибке от capistrano (инструмента, используемого для развертывания приложений rails) во время обновления кода из удаленного репозитория, в котором говорится, что он не может найти объект [commit of 1.0.2 ]. Я могу исправить эту проблему, проверяя мастер и объединяя 1.0.2.

Конечно, я всегда помещаю теги в хранилище.

Что-то не так / неэффективно / неуместно, или это подходящая стратегия? Я совершенно новичок в git и не смог найти много информации о обычно используемых стратегиях развертывания.

Ответы [ 2 ]

3 голосов
/ 15 ноября 2009

Из тега 1.0 нужно сделать ветку

 $ git checkout -b hotfix1.0

, к которому вы можете обращаться каждый раз, когда вам нужно внести исправление, и к которому вы можете делать тег (1.0.1, 1.0.2, ...) каждый раз, когда вам нужно развернуть.

Работа над отдельным HEAd не оптимальна, потому что этот коммит может быть позже удален. Если вы находитесь на отдельном HEAD и внесли некоторые изменения, вы всегда можете объединить их с определенной веткой:

 $ git checkout -m hotfix1.0

Я бы не рекомендовал создавать ветки для каждого исправления, которое вам нужно сделать для версии 1.0 вашей программы: для этой цели должно быть достаточно одной ветки с соответствующими тегами для значительных изменений, достойных публикации. *

3 голосов
/ 15 ноября 2009

Я бы предложил сделать это так:

Создайте ветку для вашего тега 1.0, например, version-1 и примените к нему исправление.

Отметить ветку как 1.0.1.

Для следующего исправления вы можете использовать ту же ветку или, если вы удалили ее, создать новую, но на этот раз из тега 1.0.1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...