Группировка репозиториев на GitHub?
Здесь ситуация: я переношу кучу репозиций в github. В настоящее время репозитории организованы в группы/каталоги, такие как "стек", "веб-сайты", "приложения" и т.д.
Нет способа (я нашел) создать группы или папки в GitHub для репозиториев, за исключением организаций, которые кажутся плохим выбором. Но, может быть, нет? Проблема здесь в том, что некоторые из групп очень малы, а другие большие... с подгруппами, и я хотел бы сохранить все проекты в одном корневом корте.
Итак, я остался, возможно, используя соглашение об именах. Например: "stack-apache", "website-foo.com", "application-some-project". Или просто отказаться от их организации в github и позволить веб-страницам проекта обрабатывать организацию.
Re. масштаб, я смотрю на 20+ репозиций изначально, с новыми репозиториями, добавленными со временем с предполагаемой скоростью 2-5/год в течение следующих нескольких лет.
У кого-нибудь есть опыт в этом?
Ответы
Ответ 1
20+ репозиций
Это действительно не так уж плохо.
Идея состоит в том, чтобы использовать организации для группировки связанного репо вместе. Это также облегчает член вашей команды отфильтровать свои фиды активности только тем организациям, в которых они заинтересованы.
Это похоже на Github, поскольку git
основан на репо, а не на файловой системе, подобной SVN.
Возможно, "Организация" - не очень интуитивное имя, но на альтернативной платформе Git, такой как Gitlab, эти подразделения называются "group". Вы должны действительно считать их такими.
Ответ 2
Организации, на мой взгляд, подходят для других целей в Github, чем группирование репозиториев (хотя они служат для группового репозитория). Организации больше касаются мелкомасштабного контроля доступа к репо (это мое понимание).
Bitbucket внедрил концепцию "Проекты" со следующей иерархией (со сравнением с Github):
Bitbucket: Team -> has N -> Projects -> has N -> Repos
Github: Organisation -> has N -> Repos
Bitbucket по-прежнему разрешает Repos не назначаться команде или проекту, я предполагаю, что поддерживаю старые репозитории, существовавшие до концепции проекта.
Чтобы ответить на вопрос, нет, а не напрямую. Есть выдающиеся запросы с Github для добавления групп, но это не кажется вероятным (на данный момент).
Префикс работает как так называемое решение:
Имя репо: [project]__[repo name]
Допустим, у вас есть клиентский "acme" с двумя репозициями:
Например: acme__api
Например: acme__landing
Поиск Github быстрый и встроенный, поэтому при поиске acme__
в вашем списке репо будут перечислены все репозитории для проекта acme__
.
Ответ 3
Я думаю, идея группировки репозиториев в github заключается в том, что просто помещайте разделитель между элементами, которые вы хотите связать друг с другом. Например, "project1_projectA_projectX" или "project1-projectA-projectX" или даже "project1 - projectA - projectX".
Для себя я предпочитаю разделитель с двойным тире как более интуитивно понятный для замены разделителя символа косой черты (/) и менее пригодного для использования в отдельном имени репозитория.
Затем список ваших проектов планирования, которые вы должны создать, будет следующим:
- project1
- project1 - Projectali >
- project1 - Projecta - ProjectX
Как только вы создадите репозиторий с разделителем (_ или -) в своем имени, не будет возможности установить, например, описание репо или лицензию с титульной страницы репо. Вы должны обрабатывать их с титульной страницы репозитория после первого нажатия. Но вы можете оставить его простым, например, для projectX это будет примерно так: "project1 - projectA subodule".