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