#git #github
#git #github
Вопрос:
Возможно ли иметь структуру папок в git с несколькими репозиториями?
Например:
<owner>
<folder 1>
<folder 1.1>
<repo>
<folder 1.2>
<repo>
. . .
<folder 2>
<folder 2.1>
<repo>
<folder 2.2>
<repo>
. . .
<folder 3>
<folder 3.1>
<repo>
<folder 3.2>
<repo>
. . .
Комментарии:
1.
on git
— вы имеете в виду на Github ?
Ответ №1:
Предполагая, что владельцем также является репозиторий git, затем взгляните на подмодули git. В противном случае я не понимаю, почему нет.
Комментарии:
1. Я просто хочу упорядочить свои вещи в git.
2. @moki Я все еще не уверен в деталях. Вы отметили вопрос #github . Вы размещаете код на своем локальном диске или на GitHub?
3. @SyzbkiDanny Я упорядочиваю свой код на GitHub. Я просто хочу иметь несколько папок в git, таких как «c, cpp, php, python», чтобы у меня мог быть, например, репозиторий hello_world, написанный на c в моей папке c, и репозиторий hello_world, написанный на python в моей папке python..
4. @moki Я думаю, вы должны хорошо организовать код в отдельных репозиториях на GitHub, репозитории будут автоматически помечены языковым тегом, обнаруженным лингвистом . Затем я бы поместил их в отдельные каталоги в вашем локальном хранилище, чтобы сгруппировать их соответствующим образом.
Ответ №2:
Если вы планируете использовать эту структуру в своем удаленном репозитории (gitlab, github) Я не вижу никаких препятствий. То же самое хорошо для локального репозитория.
По сути, gitlab позволяет вам создавать подгруппы (папка 1, папка 1.2, …) и размещать любое количество репозиториев внутри этих подгрупп по вашему желанию.
В вашем случае:
- владелец — базовая подгруппа
- папка 1 — это подгруппа уровня 1
- папка 1.1 — это подгруппа уровня 2
- repo — это репозиторий подгруппы уровня 2
- папка 1.2 — это подгруппа уровня 2
- repo — это репозиторий подгруппы уровня 2
Вам не нужны подмодули git, если я правильно понял ваш вопрос. Подмодули необходимы в случае, если вам нужно вставить одно репозиторий в другое как папку и синхронизировать его содержимое.
Ответ №3:
Вы, конечно, можете организовать свои репозитории в эту структуру папок, и вопрос в том, как ими управлять. Для этой цели я написал инструмент командной строки gita.
Он может отображать статус всех репозиториев, включая статус редактирования, отношение к удаленной ветке и т. Д. Он также выполняет команды из любого рабочего каталога.
Вы также можете сгруппировать репозитории. Для вашей структуры проекта вы можете запустить
gita add -a <owner>
который автоматически создаст иерархические группы:
owner
: содержит все репозиторииowner-folder1
: репозитории в немowner-folder1-folder1.1
: репозитории там- и т. д
Затем gita ll owner
, gita ll owner-folder1
, etc отобразит соответствующую информацию. gita <command> owner
будет ли пакетно выполняться команда для репозиториев в группе владельцев. Вы также можете запустить любую команду для любых указанных репозиториев из любого рабочего каталога.
Существуют и другие функции, такие как настройка контекста, определение пользовательских команд и т.д. Установка есть pip3 install -U gita
. Вы можете найти более подробную информацию на github.