Несколько репозиториев git в одной папке?

#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. владелец — базовая подгруппа
  2. папка 1 — это подгруппа уровня 1
  3. папка 1.1 — это подгруппа уровня 2
  4. repo — это репозиторий подгруппы уровня 2
  5. папка 1.2 — это подгруппа уровня 2
  6. 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.

введите описание изображения здесь