InfoGrab Docs

Git 트러블슈팅

Git 문제 해결을 위한 팁.

Git을 사용할 때 예상대로 작동하지 않거나 예상치 못한 상황이 발생할 수 있습니다. 다음은 Git 문제를 트러블슈팅하고 해결하는 데 도움이 되는 몇 가지 팁입니다. 디버깅 # GitLab 서버에서 Git 문제를 디버깅할 때, 오래된 버전일 수 있는 시스템에서 제공하는 git 바이너리 대신 /opt/gitlab/embedded/bin/git 를 사용하세요. Git 명령에 사용자 지정 SSH 키 사용 # GIT_SSH_COMMAND="ssh -i ~/.ssh/gitlabadmin" git <command> <command> 를 실행하고 싶은 Git 명령으로 대체하세요. SSH를 통한 Git 디버그 # GIT_SSH_COMMAND="ssh -vvv" git clone <git@url> 2>&1 \ | tee /tmp/gitlab-clone-test.log <git@url> 를 리포지터리의 SSH URL로 대체하세요. 출력은 /tmp/gitlab-clone-test.log 에 저장됩니다. HTTPS를 통한 Git 디버그 # GIT_TRACE_PACKET=1 GIT_TRACE=2 GIT_CURL_VERBOSE=1 git clone <url> 2>&1 \ | tee /tmp/gitlab-clone-test.log <url> 을 리포지터리의 HTTPS URL로 대체하세요. 출력은 /tmp/gitlab-clone-test.log 에 저장됩니다. 추적을 사용한 Git 디버그 # Git에는 Git 명령 디버깅을 위한 추적 의 완전한 세트가 포함되어 있습니다. 예를 들어: GIT_TRACE_PERFORMANCE=1 : 성능 데이터 추적을 활성화하여 각 git 호출이 얼마나 걸리는지 표시합니다. GIT_TRACE_SETUP=1 : git 이 상호작용하는 리포지터리와 환경에 대해 발견하는 내용 추적을 활성화합니다. GIT_TRACE_PACKET=1 : 네트워크 작업에 대한 패킷 수준 추적을 활성화합니다. GIT_CURL_VERBOSE=1 : curl 의 상세 출력을 활성화합니다. 자격 증명이 포함될 수 있습니다 . git push 에서 Broken pipe 오류 # 원격 리포지터리로 푸시를 시도할 때 Broken pipe 오류가 발생할 수 있습니다. 푸시할 때 일반적으로 다음이 표시됩니다: Write failed: Broken pipe fatal: The remote end hung up unexpectedly 이 문제를 해결하기 위한 몇 가지 가능한 해결책이 있습니다. Git에서 POST 버퍼 크기 증가 # HTTPS를 통한 Git으로 대형 리포지터리를 푸시하려고 할 때 다음과 같은 오류 메시지가 발생할 수 있습니다: fatal: pack has bad object at offset XXXXXXXXX: inflate returned -5 이 문제를 해결하려면: 로컬 Git 구성에서 http.postBuffer 값을 증가시킵니다. 기본값은 1 MB입니다. 예를 들어, 500 MB 리포지터