하나의 Git 설정으로 아주 다른 두 경로를 처리할 수 있습니다. 승인된 프록시를 통해 도달하는 외부 호스트와 직접 도달하는 내부 호스트입니다. 저장소를 전환할 때마다 전역 기본값을 계속 편집할 필요는 없습니다.

Git은 URL별 HTTP 설정을 지원합니다. 예를 들면:

[http]
    proxy = http://proxy.example:8080
[http "https://git.office.example/"]
    proxy =

공용 프록시가 허용되는 외부 공개 저장소의 경우 HTTP 프록시 목록이 기본 엔드포인트에 대한 후보를 제공합니다. 빈 값은 일치하는 URL에 대한 명시적 재정의입니다. 이는 더 구체적인 키를 삭제하는 것과 다르며, 삭제하면 일반 프록시가 다시 노출될 수 있습니다.

Git이 사용하는 URL을 일치시키기

스킴, 호스트 이름, 포트, 경로 및 선택적 사용자 이름이 문서화된 일치 규칙에 참여합니다. URL 하위 섹션을 일반적인 셸 와일드카드 표현식으로 취급하지 마세요. 더 좁은 경로 규칙이 더 넓은 호스트 규칙을 이길 수 있습니다.

일치하는 프록시 설정을 읽기 전용으로 확인하려면:

git config --get-urlmatch http.proxy https://git.office.example/team/project.git

이것은 설정 일치를 검사합니다. 네트워크 테스트가 아니며 경로에 도달할 수 있음을 입증하지도 않습니다. 다른 설정 범위와 관련 환경 설정도 고려하세요.

리디렉션은 새로운 설정 일치가 아닙니다

Git 문서에 따르면 일치하는 URL은 Git 명령에 직접 제공된 URL입니다. 리디렉션 때문에 방문한 URL은 그 일치에 참여하지 않습니다. 첫 번째 호스트가 다운로드를 다른 곳으로 리디렉션하는 경우 이 제한을 염두에 두세요.

경로는 전송 방식과도 일치해야 합니다. SSH 원격은 같은 서비스가 HTTPS 웹사이트를 제공한다는 이유만으로 HTTP URL 하위 섹션의 적용을 받지 않습니다.

의도한 규칙 몇 개만 사용하고 대표 URL에 대한 결과를 확인하세요. 전역, 저장소 로컬, URL별 프록시 항목이 길게 누적되면 표현하려던 네트워크 구분보다 추론하기 훨씬 어렵습니다.

관련 글