Группировка репозиториев на 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 - Projecta​​li >
  • project1 - Projecta - ProjectX

Как только вы создадите репозиторий с разделителем (_ или -) в своем имени, не будет возможности установить, например, описание репо или лицензию с титульной страницы репо. Вы должны обрабатывать их с титульной страницы репозитория после первого нажатия. Но вы можете оставить его простым, например, для projectX это будет примерно так: "project1 - projectA subodule".