У меня очень длинный список репозиций, которые я пытаюсь сделать в одном родительском репо, сделав все подмодули.Есть ли способ «git subodule add» репо * без * клонирования?
Я попытался добавить их к .gitmodules
вручную, а также к .git/config
, но он не работает.
Я также пробовал работать git submodule sync
и git submodule update --init
и т. Д., Но не повезло.
Есть ли способ обмануть git, думая, что у моего проекта есть все его (~ 30K) подмодули, без необходимости их клонировать?
Tricking Git не имеет большого смысла. Если все, что вам нужно, это список репозиториев, тогда будет работать текстовый файл. Или система сборки. Точка подмодулей заключается в том, что вы говорите, что репо * необходимо * и, следовательно, почему оно клонировано. Теоретически вы можете сделать клон '--depth 1', но он будет работать только один раз и только если все подмодули, связанные с HEAD этих репозиториев. Тогда любые изменения могут сломать вещи. Это просто не имеет большого смысла. Не могли бы вы описать свою ситуацию лучше и что вы хотите достичь. Возможно, существует другое решение. – Sukima
Почему бы не разместить ваши репозитории ~ 30K на сервере Git, как Gitolite или GitHub. Наличие мастер-репо кажется неправильным решением неправильной проблемы. – Sukima
Посмотрите на этот вопрос: http://stackoverflow.com/questions/34151816/multiple-repos-with-single-submodule/34266198#34266198 Единственная проблема с «локальным подходом» - это URL-адреса в '.gitmodules'. Если вы просто используете ссылки на локальные подмодули, есть изменения, которые вы получите при клонировании репо – user3159253