Как клонировать только папку из подмодуля git? - PullRequest
64 голосов
/ 05 октября 2010

Я пытаюсь получить папку из внешнего репозитория github для использования в моем проекте.

Я хочу, чтобы настройки моего проекта были такими:

-my_project
    -submodule
        -code.py
    -MY_README
    -.git

И яиметь удаленное хранилище с именем some-submodule со следующей структурой:

-submodule
    -code.py
-README
-.gitignore

Так что я просто хочу, чтобы папка субмодуля была добавлена ​​в мой проект.

Но я получаю это после

git submodule add <a href="http://github.com/user/submodule.git" rel="noreferrer">http://github.com/user/submodule.git</a> submodule
-my_project
    -submodule
        -submodule
            -code.py
        -README
        -.gitignore
    -MY_README
    -.gitignore

Я новичок в git, поэтому я действительно не знаю, возможно ли это, используя только git.Если мне нужна помощь, я использую msysgit в Windows.

Итак, есть ли возможность получить чистую папку субмодулей в моем проекте из публичного репозитория?

Если вы 'мне интересно, что именно я пытаюсь сделать, я пытаюсь взять прямо из их репозиториев эти плагины django 1 2 , чтобы добавить их в мой проект.

Ответы [ 3 ]

25 голосов
/ 11 сентября 2012

То, что вы хотите сделать, неосуществимо, потому что вы не можете клонировать часть хранилища.

Подробности см. В дубликате Как изменить подмодуль git, чтобы он указывал на подпапку?

8 голосов
/ 05 октября 2010

Если вы:

git submodule add http://github.com/user/submodule.git

непосредственно под my_project, вы должны получить нужную организацию каталогов.

Из git submodule add справочная страница :

Необязательный аргумент <path> - это относительное местоположение клонированного субмодуля, существующего в суперпроекте.
Если <path> не задано, используется «человеческая» часть исходного хранилища («repo» для «/path/to/repo.git» и «foo» для «host.xz:foo/.git»).

3 голосов
/ 20 апреля 2018

только

git submodule update --init --recursive

в корневом каталоге вашего проекта, и он должен делать то, что вы хотите

...