Чи можу я організувати сховища у папки на Github?


158

Я новачок в git, і те, що я зараз роблю, - це завантажувати всі мої останні проекти як сховища в github. Існує маса різних проектів, таких як веб-дизайн, теми Wordpress та різні типи програм. А деякі з них також належать до більш великих проектів, оскільки вони стосувалися тестування деяких речей як іншої програми.

Проблема полягає в тому, що зараз у мене в мережі є заплутана кількість сховищ. Як можна групувати пов'язані сховища github у структурі папок? Чи є функція, яка забезпечує будь-яку можливість замовляти та структурувати чи навіть тегувати сховища в github?


1
@ user478212 Питання стосується упорядкування сховищ, а не файлів у одному сховищі.
danijar

Найближчими з "папок" були б сьогодні "проекти" (лютий 2019): дивіться мою оновлену відповідь нижче
VonC

Однак "Проекти" безпосередньо не імітують папки. Більш прямим способом імітувати папки може бути використання тегів опису, як описано у моїй відповіді нижче.
peter554

Відповіді:


68

У самому GitHub ви не можете згрупувати свої репозиції за "папкою", якщо ви не створите організації .
Дивіться , наприклад, SublimeText , як групу всіх репостів пакетів sublimeText.

Але це не підтримує вкладену організацію папок. Наразі (червень 2017 року) це лише підтримує вкладену структуру організації команди .

Оновлення лютого 2019 року: тепер у вас є концепція проекту :
Див. " Проекти, що належать користувачам - ваша особиста робоча область "

Ви також можете зв’язати до 5 сховищ до вашої ради проекту. Пов’язання сховищ обмежить сферу пошуку до пов’язаних сховищ, тому ви можете швидко звузити будь-які нові проблеми, які ви ще не додали до дошки проектів

https://i0.wp.com/user-images.githubusercontent.com/3477155/52346373-734e2580-29ed-11e9-82ad-9e5f1ab8aa99.gif?resize=1024%2C512&ssl=1

GitHub також підтримує теги зараз (у формі тем ).


Оригінальні відповіді 2012 року:

Іншим рішенням є визначити сховища, на які посилаються інші репозитори, оголошені як підмодулі .

Таким чином, коли ви клонуєте один із репостів (на який посилаються інші репости), званий "батьківські репости", вони будуть клоновані у власному каталозі з підкаталогом на підмодулі.

Це не буде візуально видно у вашому обліковому записі GitHub (оскільки він все ще містить великий список репостів, ще більший із батьківськими репостами), але, клонувавши одне батьківське репо, ви отримаєте назад усі пов'язані з ним підмодулі.


Питання 302 згадується в коментарях по AnneTheAgile в 2014 році тільки посилання зараз (листопад 2018)tbnorth/github_repo_tags

Невеликий пітон програма в цьому сховищі використовує API GitHub , щоб отримати список вашого РЕПО. і додайте їх ім’я, опис та URL-адресу до нової репортажі. За замовчуванням називається repo_tags. Спочатку кожен "випуск" позначається некласифікованим, але ви можете тегувати їх як завгодно, використовуючи регулярне тегування випусків.

Під час повторного запуску repo_tags.pyстворює проблеми лише для репостів. що вже не було охоплено проблемою.


4
Гаразд, я маю використовувати багато організацій ... це є якась причина, чому ви не можете структурувати свої представники за папками?
danijar

4
@sharethЦя невідома мені причина, за винятком того, що це ще не функція, запропонована GitHub.
VonC

5
Примітка зі списку бажань; Теги також будуть для мене нормальними. github.com/isaacs/github/isissue/302
AnneTheAgile

4
Уау, неймовірно, що такий великий, добре розвинений, популярний сервіс не підтримує такої основної риси, яка існувала назавжди.
Майкл

1
@PeterByfield Це єдине офіційне рішення, тому я до цього часу буду дотримуватися цього.
VonC

9

Я використовую Організації для організації репостів. Це дозволяє чітко розмежувати та чітку організацію, стигнути для спільного використання за потреби. Наприклад:

Мої організації

  • Jmr-iOS (iOS repos)
  • Jmr-Work (Work repos)
  • Дія користувача (Pers repos)

Усі репортажі організації є загальнодоступними, окрім випадків, коли ви не оновите обліковий запис Enterprise Cloud ($ 25 / місяць)


1
Усі репортажі організації є загальнодоступними, навіть якщо ви переходите на обліковий запис розробника. Отже, якщо вам потрібно оновити свій організаційний план на підприємство чи команду (ціна сьогодні починається від 25 євро на місяць і дозволяє 5 розробникам, або ви можете використовувати підприємство від 21 долара на кожного користувача на місяць)
Curious Mind

гарний улов! Я оновив, щоб відобразити поточну схему, я використовую це зараз
J-Dizzle

4

Це не така відповідь, як голова вгору.

Один з останніх побічних ефектів структуризації організацій, що використовуються, з’явився завдяки наступному оголошенню про безкоштовні приватні репозиції для користувачів: https://blog.github.com/2019-01-07-new-year-new-github/

Приватні репортажі організації все ще не є безкоштовними. Таким чином, використання організацій для розділення репостів призведе до неможливості вашої організації використовувати безкоштовні приватні репозиції, якщо це щось необхідне.


2

Для початку ви можете помітити репозиції зараз у GitHub у вигляді тем. Так!

Але я не думаю, що це вирішує більшу проблему. Для цього я спробував систему папок верхнього рівня (де кожен проект - це папка в одному репо). Я також спробував одну гілку на проектну систему (де кожен проект знаходиться в новій гілці). Цей останній дозволяє вам також тягнути і штовхати кожен проект окремо! Але і те, і інше не є ідеальним.

Ви також можете ознайомитись з іншими системами управління версіями, такими як підривна та меркуріальна . Mercurial також можна розмістити на Bitbucket, якщо вам це потрібно, а Facebook навіть шукає підтримку " сховищ для багатопроектних проектів ".

Мені особисто подобається система https://hg.openjdk.java.net/ (або http://hg.netbeans.org/ ), де у вас є налаштування папок і кожен проект розміщується в кінцевих точках. Найкращий спосіб досягти цього - це створити веб-сайт (який ви можете зробити в GitHub) зі своєю структурою проекту (наприклад, https://mvnrepository.com/ або https://www.npmjs.com/ ).


2

Один із можливих способів моделювання папок - додавання тегів, розділених комами, до кінця опису репо. Потім можна шукати репости за цими тегами, оскільки фільтр GitHub "Знайти сховище ..." виглядає в описі репо! Приклад:

MyRepo: чи є якісь цікаві речі [комп'ютерний зір, машинне навчання, пітон]

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.