Могу ли я организовать репозитории в папки на Github?

Я новичок в git, и теперь я загружаю все мои недавние проекты в качестве хранилищ для github. Существует множество различных проектов, таких как веб-дизайн, темы Wordpress и различные типы приложений. Некоторые из них также относятся к более крупным проектам, поскольку они касались тестирования некоторых вещей в качестве другого приложения.

Проблема в том, что у меня сейчас запутанное количество репозиториев. Как я могу группировать связанные репозитории github в структуре папок? Есть ли функция, предоставляющая любую возможность упорядочивать или структурировать или даже помещать репозитории на github?

Ответ 1

На самом 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

маленькая программа на Python в этом репозитории использует GitHub API для получения списка ваших репозиториев. и добавьте их имя, описание и URL в новый репозиторий, по умолчанию называемый repo_tags. Первоначально каждая "проблема" помечается как неклассифицированная, но вы можете пометить их как угодно, используя обычную маркировку проблемы.

При повторном запуске repo_tags.py создает проблемы только для репозиториев. это еще не было охвачено проблемой.

Ответ 2

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

Мои организации

  • Jmr-iOS (репозитории iOS)
  • Jmr-Work (рабочие репозитории)
  • Пользователь Acct (Pers repos)

Все репозитории организации являются общедоступными, если только вы не обновите до учетной записи Enterprise Cloud ($ 25/месяц)

Ответ 3

Это не столько ответ, сколько хедз-ап.

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

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

Ответ 4

Одним из возможных способов имитации папок является добавление разделенных запятыми тегов в конце описания репо. Затем вы можете искать репо по этим тегам, так как фильтр GitHub "Найти репозиторий..." выглядит в описании репо! Пример:

MyRepo: Does some cool stuff [computer-vision, machine-learning, python]

Ответ 5

Для начала вы можете пометить репо сейчас в GitHub в виде тем. Ура!

Но я не думаю, что это решает большую проблему. Для этого я попробовал систему папок верхнего уровня (где каждый проект является папкой в одном репо). Я также попробовал одну ветку на систему проектов (где каждый проект находится в новой ветке). Этот последний позволяет вам тянуть и толкать каждый проект в отдельности! Но ни один не идеален.

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

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

Ответ 6

организация

Начиная с 05/2019, это правильный путь, представьте организацию как папку, плюс это очень полезно для управления участниками, командой и другими параметрами безопасности.

Как

  • Сначала добавьте столько организаций, сколько вам нужно
  • Затем перенесите свои репозитории в принадлежащую им организацию (папку) по одному.

Create organization

пример

Вы можете проверить этот профиль, например, в нем 25 общественных организаций с разными репозиториями; вот несколько снимков:

Организации в профиле

Organizations on profile page

Организации на странице панели инструментов

Organizations on dashboard

Организации на странице настроек

Organizations on settings

Заметка

  • Например, у меня было около 300 репозиториев, у меня ушло около 4 часов, чтобы организовать каждую мысль
  • Репо в организации не могут быть частными, если вы не обновитесь до учетной записи разработчика
  • В организации есть раздел "Люди", в котором вы можете выбрать видимость и, таким образом, сделать так, чтобы организация отображалась в вашем общедоступном профиле GitHub или нет.
  • По состоянию на 05/2019 количество организаций, отображаемых в вашем общедоступном профиле GitHub, ограничено 25 организациями. (если у вас более 25 публичных/видимых организаций, только 25 будут отображаться в вашем профиле)
  • Github-bulk-editor может использоваться в качестве альтернативы, чтобы избежать передачи репо один за другим (это позволит передавать несколько репо за раз)

enter image description here