如何为 Git 设置代理?
巴扎黑
巴扎黑 2017-05-02 09:33:57
0
12
1853

最近从 Bitbucket经常访问不了,Github拖代码的速度也抽风,什么原因大家都知道。
所以,最好的方法就是给Git设置代理了,我希望能指定部分仓库走代理方式,不知该如何设置?

补充另一种情况

本地环境下,本人设置了ssh代理,通过SOCKS走127.0.0.1:7070实现,如果在本地ssh代理开启的情况下,是不是又有另外的方法?

巴扎黑
巴扎黑

모든 응답(12)
滿天的星座

Git은 현재 다양한 프록시 구성을 사용하여 git://, ssh://http:// 세 가지 프로토콜을 지원합니다. core.gitproxy 프로토콜의 경우 git://, http.proxy 프로토콜의 경우 http://, ssh:// 프록시 프로토콜 중 SSH의 ProxyCommand 매개변수를 구성해야 합니다.

모든 프로토콜에 SSH 터널링 사용

GIT 프로토콜 구성

/path/to/socks5proxywrapper 파일을 생성하고 https://bitbucket.org/gotoh/connect 도구를 사용하여 프록시를 변환합니다. 각 배포판은 일반적으로 프록시 연결 또는 연결 프록시로 패키지됩니다.

으아아아

git 구성

으아아아

또는

으아아아

SSH 프로토콜 구성

/path/to/soks5proxyssh 파일 만들기

으아아아

이 래퍼를 사용하도록 git 구성

으아아아

물론 ~/.ssh/configProxyCommand

을 직접 구성할 수도 있습니다.

HTTP 프로토콜 구성

으아아아

모든 프로토콜에 http 프록시 사용

이전 부분을 토대로 /path/to/socks5proxywrapper 파일이

파일로 변경되었습니다. 으아아아

HTTP 프로토콜 구성

으아아아

도메인 이름에 대한 프록시 활성화

gitproxy 매개변수는 * for * 구조를 제공합니다. 자세한 내용은 man git-config의 core.gitproxy 부분을 참조하세요.

小葫芦

이 저장소에 대해 http.proxy 또는 core.gitproxy

를 설정할 수 있습니다. 으아아아 으아아아

http://www.kernel.org/pub/software/sc...

过去多啦不再A梦

yanyaoer의 방법을 사용하여 git에 대한 프록시를 설정할 수 있습니다.
언급하신 ssh+pac+socks 에이전트는 yanyaoer가 언급한 git 에이전트와 충돌하지 않습니다.
양말 프록시는 회로 수준 기본 프록시인 반면, git config에 설정된 프록시는 애플리케이션 수준입니다.

예를 들어 github.com이 양말 127.0.0.1:7070을 사용하도록 pac이 설정되어 있고 git config가 github.com이 Proxy.server.com을 프록시로 사용하도록 설정되어 있습니다.
그러면 이때 git 작업을 수행하면 모든 네트워크 요청이 양말 레이어에 도달할 때 당연히 영향을 받지 않고 직접 나가게 됩니다.

習慣沉默

tsocks - http://tsocks.sourceforge.net/

$ tsocks git clone git@github.com:xxx/xxx.git

淡淡烟草味

bitbucket에서 복제하고 ssh 프로토콜을 사용하면 모든 ssh 프록시 방법을 사용할 수 있습니다

예를 들어 http 프록시나 양말 프록시라면 http://bent.latency.net/bent/git/goto를 사용하면 됩니다... 이 작은 프로그램이 호스트로 사용됩니다ProxyCommand

당신이 언급한 릴레이 서버가 있다면 원격 호스트에서 nc를 사용하여 수행할 수 있습니다ProxyCommand http://www.undeadly.org/cgi?action=ar...

말씀하신 트래픽 차별화는 ~/.ssh/config에서 다양하게 설정할 수 있습니다. 예를 들어 제가 이전에 사용했던 구성은

으아아아

이런 방식으로 git clone ssh://git@bitbucket.org/XXXX는 여기에 정의된 ProxyCommand

을 자동으로 호출합니다.
phpcn_u1582

github ssh 프록시 | github ssh 프로토콜 프록시 구성

proxy-wrapper 스크립트

구성 으아아아

실행 권한을 추가하세요

으아아아

구성.ssh/config, github.com에 대한 프록시 명령 설정

으아아아

모두 SSH 프로토콜을 사용해야 합니다

으아아아

git 프로토콜에 대해서는 [SOCKS 프록시를 통해 GIT 사용](http://twopenguins.org/tips/git-throu...)을 참조하세요.

참고자료

  1. [Git용 프록시를 설정하는 방법은 무엇입니까? ](/q/10100000001...)
  2. [SOCKS 프록시를 통해 GIT 사용](http://twopenguins.org/tips/git-throu...)
  3. [무료 SSH](http://milnk.com/link/10645)
滿天的星座

http 프록시 구성을 기반으로 다양한 프록시를 자동으로 식별하고 설정할 수 있는 smart_switcher를 작성했는데, 특히 사무실에는 프록시가 있고 집에는 프록시가 없는 다양한 전환 상황에 적합합니다. , 매우 간단하게 단순화되었으며 게이트웨이 IP와 포트만 설정하면 됩니다.
여기에서 읽어보세요. . .

smart_switcher

http, https, ftp, rsync, ssh, git 프로토콜에 대한 자동 감지 프록시 전환기입니다.


개요

스마트 프록시 스위처 래퍼는 http, https, ftp, rsync, ssh(connect depanded), git(connect depanded) 프로토콜을 사용하여 네트워크 환경을 자동으로 감지하고 프록시를 설정할 수 있습니다.

일반적으로 네트워크 환경을 바꾸시면(아마도 프록시가 없는 집, 프록시가 있는 직장 등) 많은 도움이 될 수 있습니다.

zsh 및 bash에서 테스트되었습니다.

스크린샷

설치

단순히 .zshrc 또는 다음과 같은 쉘 스크립트 리소스 파일에 소스를 추가하세요.

source /path/to/smart_switcher.sh

, 에서 Proxy_server/gateway를 설정하세요.smart_switcher.sh

사용방법

보통 로그인하면 자동으로 실행됩니다.

당신을 위한 색깔을 선사할 세초를 응원합니다.smart_switcher

sshgit에서 프록시를 지원하는 경우 연결이 필요합니다. 경로에서 쉽게 설치할 수 있습니다./usr/bin/connect

刘奇

git 프로토콜 연결 방법은 ssh를 사용하여 서버와 통신합니다. sock5 프록시를 사용하여 서버에 연결하도록 ssh를 설정하면 git 프록시 문제도 해결됩니다.

1.

으아아아

위 코드를 gcc를 이용하여 컴파일하고 환경변수 디렉터리에 저장한 뒤 connect라는 이름으로 변경하세요
.ssh 디렉토리를 입력하고 새

를 생성합니다.

파일 구성

으아아아

파일 프록시 래퍼

으아아아
Peter_Zhu

위에 답변이 많이 있습니다. 프로그램이 상태 또는 작업 디렉터리 없이 git 명령을 실행한다고 가정하면 -c 매개변수를 사용하여 http.proxy

키를 포함하여 런타임에 git 구성을 다시 로드할 수 있습니다.

예:

으아아아
小葫芦

가장 좋은 솔루션은 프록시체인(https://github.com/haad/proxychains)입니다.
다음 명령은 프로그램을 실행합니다
$ 프록시체인 프로그램
특정 프로그램에 의해 시작된 TCP 연결이 미리 구성된 프록시를 통과하도록 강제합니다. 적어도 Linux에서는 "SOCKS 프록시에서 HTTP 프록시로"보다 다재다능합니다. 이 둘은 서로를 보완하며 대행사가 필요한 모든 시나리오를 다룰 수 있습니다.
Git의 경우 프록시체인이 없으면 git 문서의 요구 사항에 따라 각 프로토콜(http, git, ssh)에 대한 프록시를 설정해야 합니다. 프록시체인을 사용하면 이 모든 것을 잊을 수 있습니다!

$ sudo apt-get 설치 프록시체인
/etc/proxychains.conf를 열고 다음 줄을 주석 처리합니다. (원격 DNS 확인을 비활성화합니다. DNS 오염 위험이 있습니다. 활성화가 작동하지 않는 문제를 해결하는 방법은 다음과 같습니다.)
프록시_DNS
마지막으로 다음 줄을 추가합니다:
양말5 134.64.206.85 1081
$ 프록시체인 git clone git://github.com/yuzhichang/cppdep
$ sudo 프록시체인 apt-get 업데이트
여기서 134.64.206.85:1081은 SOCKS 프록시 위치입니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!