Git 클론은 ssh : // git @ ..에서만 작동하며 git @에서는 작동하지 않습니다.


12

GIT 리포지토리를 사용할 때만 사용할 때 ssh://git@server.com/repo.git와 작동 하지 않는 이유는 git@server.com/repo.git무엇입니까?

그것은 다른 사람에 의한 서버 설정이므로 어떻게 설정되었는지는 모르지만 BitBucket 또는 GitHub에서 그냥 사용할 수 있으며 git@server.com/repo.gitSSH 프로토콜을 사용하여 리포지토리를 복제하고 복제합니다. 이 서버에 대한 이유는 ssh://git@server.com/repo.git무엇입니까?

그래서 ssh://앞에 추가해야합니다 .


서버가 대체 SSH 포트를 사용합니까? 마찬가지로ssh://git@server.com:2222/
7ochem

아니,은 22입니다 ssh://git@server.com/repo.git동안 작동 git@server.com/repo.git하지 않습니다. :port어떤 경우에도 추가하지 않습니다 . 내가없이 시도 ssh://하면 fatal: repository 'git@server.com/something/repo.git' does not exist. 로 ssh://git@server.com/something/repo.git작동.
다니엘스

일종의 구성 문제 (방화벽이나 사용자 이름 문제 일 수 있음)-기관 설정과 비슷한 문제가 있습니다. 그러나 https를 통한 액세스는 작동하므로 해결책은이 스레드의 다시 쓰기 규칙을 사용하는 것입니다. stackoverflow.com/questions/15589682/…
DetlevCM

답변:


32

잘못된 구문을 사용하고 있습니다.

scheme://접두사 를 제거하면 git은 더 이상 주소를 URL 스타일로 해석하지 않고 대신 rcp / scp 스타일로 해석합니다. 그러나 rcp / scp 스타일 주소의 경우 경로는 콜론을: 사용하여 user @ host와 구분해야합니다 (포트 지정은 지원되지 않음). 예를 들면 다음과 같습니다.

git clone daniels@server.com:repo.git

git clone git@bitbucket.com:daniels/example.git

콜론이 없으면 git은 주소를 로컬 경로로만 해석합니다.

( git clone 또는 git fetch manual page 에서 자세한 내용을 볼 수 있습니다 .)


아, 미스터리가 풀렸다. 네 말이 맞아 감사합니다.
다니엘

BitBucket 서버 (이전 Stash, 클라우드 버전이 아닌 서버에 설치 한 서버)를 사용하고 GIT 명령을 복사하여 붙여 넣었습니다. 어떤 이유로 그들은 누락 된 것을 추가하지 않습니다 :.
다니엘스
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.