Для проекта SVG-Edit мы добавляем прошлые версии как ветви и указываем на эти ветви как отдельные подмодули.
Это делается для того, чтобы страницы Github могли автоматически получать их копии во время рекурсивного клонирования ( что позволяет нам иметь демонстрации для проверки поведения наших прошлых версий вместе с master
и не требует отдельной фиксации gh-pages
), в то время как мы инструктируем наших постоянных пользователей не выполнять клонирование рекурсивно (если они на самом деле не хотят, чтобы все прошлые версии были в их рабочая копия (как подпапки папки releases
)).
Я хочу предоставить сценарии CLI (npm) для добавления существующих ветвей прошлой версии в виде подмодулей.
I Желательно, чтобы разработчики не добавляли копии этих веток локально, заставляя их локальные репозитории загрязнять длинный список старых веток, которые всегда отображаются при перечислении веток и которые нам, возможно, не нужно редактировать, но при этом мы можем добавлять релизы, которые уже существуют как ветки на главном репо, и, при необходимости, Убедитесь, что подмодули master
указывают на последний коммит этих веток релиза (если ветвь релиза была создана до окончательного выпуска).
Одна из проблем, с которыми я сталкиваюсь, заключается в том, что при использовании:
git submodule add --depth=1 -b \"release-v$VERSION\" https://github.com/SVG-Edit/svgedit \"releases/svg-edit-$VERSION\"
... ветка на пульте, например, "release-v6.0.0" (при настройке VERSION=6.0.0
) не найдена, если у меня также нет копии этого на origin
. В моем случае origin
- это не пульт SVG-Edit, который имеет все ветви - origin
- это просто мой собственный удаленный ответвление.
Что я могу передать на -b
, чтобы я нацеливался пульт, отличный от «origin» (то есть то, что я назвал «SVG-Edit»)?
Если было бы возможно добавить refs/remotes/SVG-Edit
как часть -b
, я не уверен, как использовать git fetch
(или что-то еще), чтобы получить refs/remotes/SVG-Edit
, чтобы включить еще много веток релиза которые существуют в SVG-Edit (и которые я вижу в logs/refs/remotes/SVG-Edit
). В идеале я бы хотел сделать это так, чтобы не полагаться на конкретное c удаленное имя, такое как «SVG-Edit».
Есть мысли о том, как поступить?