저는 애완동물 서버에 코드를 푸시하거나 회사 내에서 코드를 공유하기 위해 수동으로 생성된 저장소를 만드는 데 익숙합니다. 내 작업 공간에 추가하기 위해 URL을 ssh://user@ip/folder.git
원격으로 사용합니다.
GitHub와 같은 서비스가 프로토콜 사양 없이 저장소 URL을 어떻게 설정할 수 있는지 궁금합니다 [email protected]:igorsantos07/Restler.git
.
답변1
여기 Git 책을 보면:4.1 서버의 Git - 프로토콜Git이 수용할 수 있는 다양한 프로토콜 형식을 언급합니다.
발췌
아마도 Git의 가장 일반적인 전송 프로토콜은 SSH일 것입니다. 이는 대부분의 장소에 이미 서버에 대한 SSH 액세스가 설정되어 있기 때문입니다. 그렇지 않은 경우에도 쉽게 할 수 있습니다. SSH는 쉽게 읽고 쓸 수 있는 유일한 네트워크 기반 프로토콜이기도 합니다. 다른 두 네트워크 프로토콜(HTTP 및 Git)은 일반적으로 읽기 전용이므로 일반 대중에게 제공하더라도 자체 쓰기 명령을 수행하려면 여전히 SSH가 필요합니다. SSH는 인증된 네트워크 프로토콜이기도 하며 어디에나 존재하므로 일반적으로 설정 및 사용이 쉽습니다.
SSH를 통해 Git 리포지토리를 복제하려면 다음과 같이 ssh:// URL을 지정하면 됩니다.
$ git clone ssh://user@server/project.git
또는 SSH 프로토콜에 대해 더 짧은 scp와 유사한 구문을 사용할 수 있습니다.
$ git clone user@server:project.git
사용자를 지정할 수도 없으며 Git은 현재 로그인한 사용자를 가정합니다.
GitHub와 같은 서비스는 리포지토리에 액세스하는 데 추가 역할도 수행합니다. 기본적으로 액세스를 HTTP로 래핑한 다음 HTTP 서버의 백엔드에서 올바른 프로토콜을 발급합니다. 이는 일반적으로 일종의 역방향 프록시로 수행됩니다. Gitolite라는 제품을 사용하여 이러한 기능 중 일부를 제공할 수 있습니다(총 유기탄소또는소개하다) 또한기토리스.