2014-01-03 4 views
10

Вот ситуация: Я переношу кучу репозиций в github. Репозитории в настоящее время организованы в группы/каталоги, такие как «стек», «веб-сайты», «приложения» и т. Д.Группировка репо на GitHub?

Нет способа (я нашел) создать группы или папки в GitHub для репозиций, за исключением организаций , что кажется плохим выбором. Но, может быть, нет? Проблема здесь в том, что некоторые из групп очень малы, а другие большие ... с подгруппами, и я хотел бы сохранить все проекты в одном корневом ведре.

Итак, я остался, возможно, используя соглашение об именах. Например: «stack-apache», «website-foo.com», «application-some-project». Или просто отказаться от организации их в github и позволить веб-страницам проекта обрабатывать организацию.

Re. масштаб, я смотрю на 20+ репозиции изначально, с новыми репозиториями, добавленными со временем с оценкой в ​​2-5 долларов в год в течение следующих нескольких лет.

У кого-нибудь есть опыт работы с подобными вещами?

ответ

9

20+ РЕПО

Это на самом деле не так уж плохо.

Идея состоит в том, чтобы использовать организации для группировки связанного репо вместе. Это также облегчает член вашей команды отфильтровать свои фиды активности только тем организациям, в которых они заинтересованы.

Это похоже на Github, поскольку git основан на репо, а не на файловой системе, подобной SVN.

Возможно, «Организация» - не очень интуитивное имя, но на альтернативной платформе Git, такой как Gitlab, эти подразделения называются «группой». Вы должны действительно относиться к ним так.

+0

Звучит разумно. Я изначально был «Или, может быть,« Организация »- это вводящее в заблуждение имя?» в посте, но сокращенно для краткости. Я думаю, что я собираюсь пойти с основными проектами в компании-Организации и создать несколько групп-организаций для организации связанных проектов. – zanerock

+8

Я бы сказал, что рассмотрение организаций GitHub как групп усложняет процесс выставления счетов и разрешений и фрагментов. GitHub просто не имеет концепции связанных репозиториев без наложения дополнительной семантики. Префиксные имена репозиториев - самая распространенная практика, которую я видел. –

+0

Хорошая точка. биллинг. Неясно, исходный вопрос был для проектов с открытым исходным кодом, поэтому выставление счетов не было проблемой. Я чувствую, что «команд» достаточно для организации разрешений, поэтому в контексте с открытым исходным кодом это работает. В контексте с закрытым исходным кодом я согласен повторно. префиксы. – zanerock

3

Организации, на мой взгляд, подходят к другой цели в Github, чем группировать репозитории (хотя они служат для группировки репозиториев). Организации больше касаются мелкомасштабного контроля доступа к репо (это мое понимание).

Bitbucket ввел понятие «Проекты», со следующей иерархией (с сравнением с Github):

Bitbucket: Team   -> has N -> Projects -> has N -> Repos 
Github: Organisation -> has N      -> Repos 

Bitbucket еще позволяет Repos к не быть отнесена к группе или проекту, я я предполагаю, что для поддержки старых репозиториев, существовавших до концепции проекта.

Чтобы ответить на вопрос, нет, не напрямую. Есть выдающиеся запросы с Github для добавления групп, но это не кажется вероятным (на данный момент).

Приставка работает как так себе решение:

Имя Repo: [project]__[repo name]

Допустим, у вас есть клиент "акме" с двумя РЕПО:

Например: acme__api Например: acme__landing

Поиск Github быстрый и быстрый, поэтому при поиске в acme__ в вашем списке репо будут перечислены все репозитории для acme__ pr роект.

2

Я думаю, идея группировки репозиториев на github заключается в том, что просто помещайте разделитель между элементами, которые вы хотите связать друг с другом. Например, «project1_projectA_projectX» или «project1-projectA-projectX» или даже «project1 - projectA - projectX».

Для себя я предпочитаю разделитель с двойным тире как более интуитивно понятный для замены разделителя символа косой черты (/) и менее полезный в отдельном имени репозитория.

Затем список ваших проектов планирования вы должны создать бы:

  • project1
  • project1 - Projecta
  • project1 - Projecta - ProjectX

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

Смежные вопросы