проверить все теги git - PullRequest
1 голос
/ 10 марта 2012

В настоящее время я думаю о переходе на git, но не могу найти элегантного решения для того, как мы в настоящее время используем теги svn. В моем текущем хранилище у меня есть

tags
tags/1
tags/1.1
tags/1.n
tags/live
tags/library
tags/library/1
tags/library/2

где 1-1.n - выпуски, я объединяю последний выпуск с живым, и библиотека содержит библиотеки, которые может использовать каждая версия. Я понимаю, как создавать теги 1.n в git, но я не могу понять, как создавать теги live и library.

Должен ли я иметь для этого отдельный репозиторий и извлекать теги из 1-1.n как субмодули, или git может сделать это напрямую?

1 Ответ

1 голос
/ 10 марта 2012

Мне кажется, что live должна быть ветвью, а не тегом. На всякий случай, если вы не в курсе: в отличие от svn, который обрабатывает ветки и теги одинаково как простые операции копирования дерева (с единственным отличием - соглашения, которые вы используете при работе с ними), ветви и теги git - это просто указатели на конкретные коммиты, основное различие заключается в том, что активная ветвь следует за коммитами, тогда как теги всегда остаются на коммите, против которого они были созданы.

Каталог библиотеки не является ветвью или тегом. Возможно, его можно заменить на подмодули git, но с ними сложно работать, поэтому вам, возможно, захочется держаться подальше от них, пока вы не немного повысите свои навыки в общем рабочем процессе git. Не пойми меня неправильно; Подмодули - это именно тот инструмент, который нужен для управления сторонними зависимостями, но к нему нужно привыкнуть, и он будет казаться совершенно загадочным и сломанным, если у вас нет сильной интуиции в отношении базовой модели git.

Если говорить в более общих чертах, то, что вы теряете при переходе от SVN к GIT, это удобство заранее установленного рабочего процесса. Git позволяет вам следовать обычным рабочим процессам SVN и многому другому, но вы можете легко сделать яичницу из своей истории, если вы не примете какие-то ограничения на то, как вы используете Git. Вы можете найти очень эффективный рабочий процесс здесь . Это не единственный возможный рабочий процесс, и он может даже не быть лучшим для вашей ситуации, но он может послужить отправной точкой, из которой вы создаете свой собственный рабочий процесс. Например, в нашем магазине, который также перешел из svn, мы придерживались большинства наших коммитов на master, для которых они используют ветку develop, и мы помечаем вещи на ветке release вместо их master. Таким образом, наш рабочий процесс в основном такой же, как у них, но с другим выбором имен для долгоживущих ветвей.

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