git 하위 모듈에서 폴더 만 복제하는 방법은 무엇입니까?


79

내 프로젝트에서 사용할 외부 github 리포지토리에서 폴더 만 가져 오려고합니다.

내 프로젝트 설정이 다음과 같기를 바랍니다.

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

그리고 다음과 같은 구조의 some-submodule이라는 원격 저장소가 있습니다.

-submodule
    -code.py
-README
-.gitignore

그래서 내 프로젝트에 하위 모듈 폴더를 추가하고 싶습니다.

그러나 나는 이것으로 끝납니다

git 하위 모듈 http://github.com/user/submodule.git 하위 모듈 추가

-my_project
    -submodule
        -submodule
            -code.py
        -README
        -.gitignore
    -MY_README
    -.gitignore

나는 git를 처음 사용하기 때문에 git을 사용하는 것이 가능한지 정말로 모르겠습니다. 도움이된다면 Windows에서 msysgit을 사용하고 있습니다.

그래서 어쨌든 공개 저장소에서 내 프로젝트의 깨끗한 하위 모듈 폴더를 얻을 수 있습니까?

내가 뭘 하려는지 정확히 궁금하다면이 django 플러그인 1 2 를 저장소에서 직접 가져 와서 내 프로젝트에 추가하려고합니다.



답변:


39

리포지토리의 일부를 복제 할 수 없기 때문에 원하는 작업을 수행 할 수 없습니다.

중복 세부 사항을 참조하십시오 하위 폴더를 가리 키도록 git 하위 모듈을 변경하는 방법은 무엇입니까?


5
엄밀히 말해서 저장소의 일부만 복제 하는 것은 불가능하지만 OP가 원하는 것을 해결하기 위해 Git 1.7부터 드문 체크 아웃 이 있습니다. stackoverflow.com/questions/600079/…
Peterino

9

만약 너라면:

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

바로 아래 my_project에 원하는 디렉토리 구성으로 끝나야합니다.

에서 git submodule addman 페이지 :

선택적 인수 <path>는 복제 된 서브 모듈이 수퍼 프로젝트에 존재할 상대 위치입니다.
경우 <path>제공되지 않으며, 원본 저장소의 "humanish"부분 ( "를"REPO을 "사용 /path/to/repo.git"과 " foo" "에 대한 host.xz:foo/.git").


대박! 나는 튜토리얼을 끝까지 따르고 ​​있었고 매뉴얼을 읽지 않았다 ... 나는 내 프로젝트에서 서브 모듈의 README 파일로 끝날 것이라고 생각했다 ... 정말 고마워!
demula 2010 년

1
그래도 문제가 있습니다. 하위 모듈의 repo가 ​​사용하려는 폴더와 이름이 같은 경우에만 작동하지만 그렇지 않은 경우 : repo-> django-submodule folder name-> submodule 더 이상 작동하지 않습니다. 해결 방법을 찾아 보겠습니다.
demula

미안합니다. 잘 구성된 리포지토리 중 하나를 사용하여 솔루션을 시도했으며 문제가 이미 해결되었다고 생각했습니다.
demula 2010 년

5

다만

git submodule update --init --recursive

프로젝트의 루트 디렉토리에서 원하는 작업을 수행해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.