2011-12-19 3 views
3

SSH 프로토콜 (ssh://) 또는 Git (git://) 프로토콜을 사용하여 밀어 넣는 데 성능 차이가 있습니까?Git 네이티브 프로토콜 또는 SSH 프로토콜 (밀어 넣기)의 차이점

자식을 사용하고 싶다면 자식 서버의 데몬을 설정하고 해당 포트를 iptables에서 열지 않아도됩니까? SSH가 이미 설정되고 작동 중일 때, 많은 추가 작업과 dameon을위한 추가 메모리 사용법처럼 보입니다.

GitHub에서 ssh : // 대신 native git : // 프로토콜을 사용하면 이점이 있어야합니다.

+2

여기에 몇 가지 정보가 있습니다. http://progit.org/book/ch4-1.html – zoran119

+0

감사합니다. – Justin

답변

5

우선 GitHub는 ssh를 주 프로토콜로 사용하며 읽기 전용 액세스는 git 프로토콜을 통해 제공됩니다.

git : //은 암호화 및 인증의 오버 헤드가 없으므로 프로젝트를 복제하는 가장 빠른 방법입니다. 하지만 그렇지 않으면, ssh : //와 git : // 모두 전송에 대해 동일한 git 특정 최적화를 사용합니다. 그래서 GitHub에있는 사람들을 포함하여 많은 프로젝트에서 git : // 읽기 전용 액세스를하고 ssh를 사용하여 푸시합니다.

질문에 대답하기 위해 ssh : //는 밀기에 가장 적합합니다. 왜냐하면 git : //는 푸시에 사용되지 않기 때문입니다.

0

SSH 프로토콜 (ssh : //) 또는 Git (git : //) 프로토콜을 사용하여 push하는 데 성능 차이가 있습니까?

물론 ssh의 암호화가 있습니다.

자식을 사용하고 싶다면 자식 서버의 데몬을 설정하고 해당 포트를 iptables에서 열지 않아도됩니까?

선택한 프로토콜에 따라 다릅니다. 일반적으로 푸시가 인증되기를 원하기 때문에 (그리고 인증은 암호화되어야합니다.) ssh의 기능은 일반적으로 사용됩니다. 본질적으로 git-native 프로토콜을 실행하지만 SSH 터널을 통해 실행되기 때문입니다. (Impl detail : ssh를 통해 git-daemon과 git-push를 실행하면 git-receive-pack 하위가 생성됩니다.)

git-daemon 서비스는 일반적으로 인증이나 암호화가 필요 없기 때문에 읽기 전용 익명 액세스를 위해 제공됩니다. 여기에서 원하는.