폴더 자체없이 GitHub 리포지토리의 내용 복제


232

GitHubgit clone 에있는 리포지토리의 내용을 원합니다 . 내가 (git @ github : me / name.git ...) 때 폴더라는 이름과 내부 이름이 있는데 내용이 있습니다 ... 내용을 어떻게 얻습니까?git clonename/



실제로 네트워크 자원을 절약하기 위해 불필요한 객체를 다운로드 건너 뛰려면 : stackoverflow.com/questions/600079/...을
치로 틸리가郝海东冠状病六四事件法轮功

답변:


313

현재 디렉토리가 비어 있으면 다음을 사용하여 수행 할 수 있습니다.

git clone git@github:me/name.git .

( .끝 부분에 현재 디렉토리를 지정하십시오.) 물론 이것은 .git프로젝트의 소스 코드뿐만 아니라 현재 폴더 에도 디렉토리를 생성합니다 .

이 선택적 [directory]매개 변수는 git clone매뉴얼 페이지에 문서화 되어 있으며 기존 디렉토리로의 복제는 해당 디렉토리가 비어있는 경우에만 허용됩니다.


2
불행히도, 같은 디렉토리에 이미 관련되지 않은 다른 디렉토리가 있으면 작동하지 않습니다. 해결책을 찾고 있습니다. 오류 메시지는 "치명적 : 대상 경로 '.'입니다. 이미 존재합니다 ... "
John Little

12
디렉토리 자식 클론은 비어 있어야합니다
jolyonruss

1
@HumaunRashid .답변에서 논의 된대로를 추가하십시오 : git clone https://github.com/humaun21/Test .. 그리고 네, git@github.me/name.git실제 git repo 주소가 무엇이든 자리 표시 자입니다.
Aaron Campbell

1
@JohnLittle 같은 문제가 있었지만 숨겨진 .DS_Store 파일이 있습니다. 간단 rm .DS_Store하고 잘 지내십시오.
Selrond

1
Linux OS에서 작업중인 경우 숨겨진 파일 및 하위 디렉토리 확인을 포함하여 디렉토리가 비어 있는지 확인해야합니다. ls -a로 그렇게 할 수 있습니다. 당신은 있어야합니다. .. 출력으로. 그렇지 않으면 작동하지 않습니다
Ayo Makanjuola

156

불행히도, 같은 디렉토리에 이미 관련되지 않은 다른 디렉토리가 있으면 작동하지 않습니다. 해결책을 찾고 있습니다. 오류 메시지는 "치명적 : 대상 경로 '.'입니다. 이미 존재 함...".

이 경우 해결책은 다음과 같습니다.

git init
git remote add origin git@github.com:me/name.git
git pull origin master

이 레시피는 체크 아웃하려는 디렉토리에 다른 디렉토리가있는 경우에도 작동합니다.


이봐 Permission denied <public key>와 같은 오류가 발생합니다. 원격 끝이 예기치 않게 끊어졌습니다.
Stan

그것은해야하지 github.com이 후 git remote ..., 그리고 단지 github?
amn

5
이 답변은 받아 들여 져야합니다. 완벽하게 작동합니다.
vikramvi

repo에 다른 분기가 있으면 먼저 사용하지 않으면 가져올 수 없기 때문에 여기서 다른 곳에서 실행 git fetch --all해야합니다 . 이 올바른지? git pull origin mastergit pullfetch
Alex G

38

폴더가 비어 있지 않으면 약간 수정 된 @JohnLittle의 답변이 저에게 효과적이었습니다.

git init
git remote add origin https://github.com/me/name.git
git pull origin master

@ peter-cordes가 지적했듯이 유일한 차이점은 SSH 키를 구성 해야하는 git 대신 https 프로토콜을 사용하는 것 입니다.


어떤 버전의 자식을 실행하고 있습니까? 이것은 나를 위해 작동하지 않았습니다. 디렉토리가 비어 있지 않기 때문에 여전히 설정을 할 수 없습니다
guribe94

@ guribe94 git 버전 2.5.0
Tomáš Zemanovič

3
이것은 ssh를 통해 git-protocol 대신 익명 https를 사용하는 것과 같은 대답입니다 (ssh 키 쌍이 설정된 github 계정 필요).
Peter Cordes 2016 년

15

대상 디렉토리를 git clone명령 의 두 번째 매개 변수로 지정할 수 있으므로 다음을 수행 할 수 있습니다.

git clone <remote> .

이것은 현재 로컬 디렉토리에서 직접 저장소를 복제합니다.


2

git repo를 현재 폴더 (no git init) 에 복제 하고 ssh를 사용하지 않는 경우 :

git clone https://github.com/accountName/repoName.git .

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