Что считается наилучшей практикой использования Git для управления несколькими выпусками веб-сайта? - PullRequest
2 голосов
/ 18 ноября 2011

В настоящее время мы находимся в процессе миграции с Subversion на Git.В Subversion у нас был полный кошмар ветвей, и было совершенно непонятно, как найти что-либо или какую ветку синхронизировать.По сути, кто-то создавал новую ветку каждый раз, когда мы выпускали новую версию нашего приложения на рабочий сервер.Так что будет ветвь 1457 со всеми битами из этой сборки.Затем, после того, как эта сборка была завершена, они создали новую ветвь с именем 1458 и начали там регистрироваться.Когда эта сборка была готова, мы скопировали все в производство и повторили.Иногда были странные дополнительные выпуски, и существовала ветка, называемая 1457_B или что-то в этом роде.Это сбило с толку.

Кажется, они хотят продолжать использовать эту систему и с Git.Я думаю, что было бы досадно «переключать ветки» каждый раз, когда мы выпускаем версию.Кажется, лучшим подходом было бы просто иметь «основной репозиторий», который синхронизирован с тем, что в данный момент находится в производстве, а затем иметь одну ветку «Разработка» с постепенными изменениями, которые я могу отправлять каждые несколько дней или около того.Затем, когда сборка будет готова к развертыванию, объедините ветвь разработки с основной и назовите ее хорошей.

Я думаю, что их аргумент заключается в том, что они хотят видеть фрагменты любой конкретной сборки во времени.- что странно, потому что я никогда не сталкивался с необходимостью сделать это.С Git, есть ли лучший способ «пометить» момент времени, чтобы вы могли быстро увидеть репозиторий, существовавший на определенной контрольной точке?Создание ветки для каждой сборки кажется мне излишним.Я знаю, что эти вопросы довольно расплывчаты, в основном я просто ищу рекомендуемые рекомендации для этого рабочего процесса, что, я уверен, довольно распространено.

Ответы [ 2 ]

3 голосов
/ 18 ноября 2011

Я бы настоятельно рекомендовал изучить теги git.Использование ветки подразумевает, что дальнейшее развитие будет происходить на этой линии.Однако, если все, что они хотят сделать, это пометить релизы, создайте ветку «production» и просто пометьте релизы.Теперь, если они хотят иметь несколько одновременных выпусков, ветки действительно могут там пригодиться.

1 голос
/ 18 ноября 2011

Git поддерживает теги, которые являются либо указателями на коммиты, либо полнофункциональными объектами с подписью, автором и, очевидно, ссылкой на коммит.

Таким образом, для каждого выпуска у вас будет тег, который описывает конкретный момент времени.

Ваш подход с основной веткой и веткой разработки определенно является обычным подходом, в отличие от одной ветки на выпуск. Такие ветки вступают в действие только при поддержке более старой версии (например, исправления ошибок), но это скорее относится к контексту приложений, а не веб-сайтов.

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