InfoGrab Docs

Git 프로토콜 v2 구성

GitLab Self-Managed의 Git 프로토콜 v2를 설정하고 구성합니다.

Git 프로토콜 v2는 v1 wire 프로토콜을 여러 면에서 개선하며 GitLab에서 HTTP 요청에 대해 기본적으로 활성화됩니다. SSH를 활성화하려면 관리자가 추가 구성을 해야 합니다. 새 기능 및 개선 사항에 대한 자세한 내용은 Google Open Source Blog 를 참조하세요. 사전 요구 사항 # 클라이언트 측에서 git v2.18.0 이상이 설치되어 있어야 합니다. 서버 측에서 SSH를 구성하려면 sshd 서버가 GIT_PROTOCOL 환경을 수락하도록 설정해야 합니다. GitLab Helm 차트 및 All-in-one Docker 이미지 를 사용하는 설치에서는 SSH 서비스가 이미 GIT_PROTOCOL 환경을 수락하도록 구성되어 있습니다. 사용자는 추가 작업이 필요하지 않습니다. Linux 패키지 또는 자체 컴파일 설치의 경우 /etc/ssh/sshd_config 파일에 다음 줄을 추가하여 서버의 SSH 구성을 수동으로 업데이트합니다: AcceptEnv GIT_PROTOCOL SSH 데몬을 구성한 후 변경 사항이 적용되도록 재시작합니다: # CentOS 6 / RHEL 6 sudo service sshd restart # All other supported distributions sudo systemctl restart ssh 지침 # 새 프로토콜을 사용하려면 클라이언트가 Git 명령에 -c protocol.version=2 구성을 전달하거나 전역으로 설정해야 합니다: git config --global protocol.version 2 HTTP 연결 # 클라이언트가 Git v2를 사용하는지 확인합니다: GIT_TRACE_CURL=1 git -c protocol.version=2 ls-remote https://your-gitlab-instance.com/group/repo.git 2>&1 | grep Git-Protocol Git-Protocol 헤더가 전송되는 것을 확인해야 합니다: 16:29:44.577888 http.c:657 => Send header: Git-Protocol: version=2 서버가 Git v2를 사용하는지 확인합니다: GIT_TRACE_PACKET=1 git -c protocol.version=2 ls-remote https://your-gitlab-instance.com/group/repo.git 2>&1 | head Git 프로토콜 v2를 사용하는 응답 예시: $ GIT_TRACE_PACKET=1 git -c protocol.version=2 ls-remote https://your-gitlab-instance.com/group/repo.git 2>&1 | head 10:42:50.574485 pkt-line.c:80 packet: git< # service=git-upload-pack 10:42:50.574653 pkt-line.c:80 packet: git< 0000 10:42:50.574673 pkt-line.c:80 packet: