source

HTTP 프록시를 통해 Git 저장소에서 가져오려면 어떻게 해야 합니까?

manysource 2023. 5. 10. 22:06

HTTP 프록시를 통해 Git 저장소에서 가져오려면 어떻게 해야 합니까?

을 사용하는 인 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "git cloneHTTP를 통한 저장소의.

Git control로 프로젝트를 진행하고 있습니다.하위 모듈을 추가하고 싶습니다.

git submodule add http://github.com/jscruggs/metric_fu.git vendor/plugins/metric_fu

하지만 나는 이해합니다.

...
got 1b0313f016d98e556396c91d08127c59722762d0
got 4c42d44a9221209293e5f3eb7e662a1571b09421
got b0d6414e3ca5c2fb4b95b7712c7edbf7d2becac7
error: Unable to find abc07fcf79aebed56497e3894c6c3c06046f913a under http://github.com/jscruggs/metri...
Cannot obtain needed commit abc07fcf79aebed56497e3894c6c3c06046f913a
while processing commit ee576543b3a0820cc966cc10cc41e6ffb3415658.
fatal: Fetch failed.
Clone of 'http://github.com/jscruggs/metric_fu.git' into submodule path 'vendor/plugins/metric_fu'

HTTP_PROXY를 설정했습니다.

c:\project> echo %HTTP_PROXY%
http://proxy.mycompany:80

http 프록시에 대한 글로벌 Git 설정도 있습니다.

c:\project> git config --get http.proxy
http://proxy.mycompany:80

프록시를 통해 HTTP 가져오기가 일관되게 작동하도록 한 사람이 있습니까?정말 이상한 것은 GitHub의 일부 프로젝트는 정상적으로 awesome_nested_set작동하지만 다른 프로젝트는 지속적으로 실패한다는 것입니다(: 레일).

Git에서 Git가 .http.proxy:

git config --global http.proxy http://proxy.mycompany:80

프록시를 사용하여 인증하는 방법

git config --global http.proxy http://mydomain\\myusername:mypassword@myproxyserver:8080/

(인증 형식은 @Eugene Kulabuhov 및 @Jaime Reynoso에게 크레딧이 전달됩니다.)

이미 이에 대한 몇 가지 훌륭한 답이 있습니다.하지만 일부 프록시 서버는 사용자 ID와 비밀번호로 인증해야 하기 때문에 제가 칩을 넣으려고 합니다.도메인에 있을 수도 있습니다.

예를 들어 프록시 서버 구성이 다음과 같은 경우:

Server: myproxyserver
Port: 8080
Username: mydomain\myusername
Password: mypassword

그런 다음, 다음 항목에 추가합니다..gitconfig다음 명령을 사용하여 파일을 만듭니다.

git config --global http.proxy http://mydomain\\myusername:mypassword@myproxyserver:8080

하지 https지정된 프록시 서버가 http 및 https를 지원하는 한 구성 파일의 항목 하나로 충분합니다.

가 사용자의 그런다항추확수있에 할 수 ..gitconfig합니다.cat .gitconfig:

파일 끝에 다음과 같은 항목이 표시됩니다.

[http]
    proxy = http://mydomain\\myusername:mypassword@myproxyserver:8080

바로 그거야!

마침내 효과가 있었던 것은http_proxy환경 변수입니다.나는 설정했습니다.HTTP_PROXY맞아요, 하지만 Git은 소문자 버전을 더 좋아하는 것 같아요.

지정된 리포지토리에서 프록시를 사용하려면 다른 리포지토리에서 프록시를 사용할 필요가 없습니다.은 선되는방은법입니다.-c, --config <key=value>옵션은 다음과 같습니다.git clone저장소. 예를 들어

$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git --config "http.proxy=proxyHost:proxyPort"

당신은 Git의 mingw 컴파일을 윈도우에서 사용하는 것처럼 보입니다(또는 제가 들어본 적이 없는 다른 컴파일일 수도 있습니다).이를 디버깅하는 방법은 다음과 같습니다.git에 대한 http 프록시 작업은 모두 curl로 수행된다고 생각합니다.git를 실행하기 전에 다음 환경 변수를 설정합니다.

GIT_CURL_VERBOSE=1

이것은 적어도 여러분에게 배후에서 무슨 일이 일어나고 있는지에 대한 아이디어를 제공해야 합니다.

네트워크 팀이 인증서를 다시 작성하여 SSL 검사를 수행할 때 https 대신 http url을 사용하고 이 var를 설정하는 것이 저에게 도움이 되었습니다.

git config --global http.proxy http://proxy:8081

나에게 git://는 https://가 작동하지만 프록시를 통해 작동하지 않습니다.모두 git://를 사용하는 스크립트를 실행하고 있었기 때문에 쉽게 변경할 수 없었습니다.하지만 나는 이 GEM을 찾았습니다.

git config --global url."https://github.com/".insteadOf git://github.com/

윈도우즈 시스템의 %userprofile% 디렉토리에 있는 .gitconfig 파일을 편집할 도 있습니다(pad %userprofile% 참고).gitconfig) 또는 Linux 시스템의 ~ 디렉토리(vi ~/.gitconfig)에서 아래와 같이 http 섹션을 추가합니다.

.gitconfig 파일의 내용:

[http]
        proxy = http://proxy.mycompany:80

이것은 오래된 질문이지만 Windows에서 https URL을 통해 검색하는 경우 HTTPS_PROXY를 설정하는 것도 고려해 보십시오. 저에게 도움이 되었습니다!

둘 다 못 찾겠어요.http.proxy도 아니다GIT_PROXY_COMMAND인증된 http 프록시에서 작동합니다.프록시는 어떤 방식으로든 트리거되지 않습니다.하지만 저는 이 문제를 해결할 방법을 찾습니다.

  1. 원하는 코르크 나사 또는 다른 대체품을 설치합니다.
  2. 인증 파일을 만듭니다.authfile다음과 같습니다.user_name:password,그리고.user_name,password프록시에 액세스하기 위한 사용자 이름 및 암호입니다.이러한 파일을 만들려면 다음과 같은 명령을 실행하기만 하면 됩니다.echo "username:password" > ~/.ssh/authfile.

  3. ~/.ssh/config그리고 그것의 허락을 확실히 하라.644:chmod 644 ~/.ssh/config

.com로 들어 보겠습니다. .com 에 합니다. 다음 행을 추가합니다.~/.ssh/config:

Host    github.com
        HostName        github.com
        ProxyCommand    /usr/local/bin/corkscrew <your.proxy> <proxy port> %h %p <path/to/authfile>
        User            git

이제 당신이 무언가를 할 때마다git@github.com프록시를 자동으로 사용합니다.당신은 비트버킷에도 같은 일을 쉽게 할 수 있습니다.

이것은 다른 접근법처럼 우아하지는 않지만 매력적으로 작동합니다.

Windows에서 일반 텍스트의 .gitconfig에 암호를 입력하지 않으려면 다음을 사용할 수 있습니다.

일반 또는 Windows NTLM 프록시에 대해 사용자를 인증하고 인증 없이 localhost-proxy를 시작합니다.

실행하려면 다음과 같이 하십시오.

  • Cntml 설치
  • 문서에 따라 Cntml을 구성하여 프록시 인증을 전달합니다.
  • 새 localhost 프록시를 가리킵니다.

    [http]
        proxy = http://localhost:3128       # change port as necessary
    

저에게 효과가 있었던 것은 다음과 같습니다.

sudo apt-get install socat

$B 내에 파일 만들기IN_PATH/gitproxy(다음 포함):

#!/bin/sh 
_proxy=192.168.192.1 
_proxyport=3128 
exec socat STDIO PROXY:$_proxy:$1:$2,proxyport=$_proxyport

실행 권한을 부여하는 것을 잊지 마십시오.

chmod a+x gitproxy

다음 명령을 실행하여 환경을 설정합니다.

export PATH=$BIN_PATH:$PATH
git config --global core.gitproxy gitproxy

Git 자격 증명을 설정합니다.도움을 청하는 사람.

git config --global credential.helper wincred

자격 증명이 하나만 있는지 확인합니다.조력자

git config -l

1개 이상 있는데 wincred로 설정되어 있지 않으면 제거합니다.

git config --system --unset credential.helper

이제 암호가 없는 프록시를 설정합니다.

git config --global http.proxy http://<YOUR WIN LOGIN NAME>@proxy:80

추가한 모든 설정이 정상인지 확인합니다.

git config --global -l

이제 그만 가!

git에 프록시 설정

지휘권

git config --global http.proxy http://user:password@domain:port

git config --global http.proxy http://clairton:123456@proxy.clairtonluz.com.br:8080

저도 같은 문제가 있었는데, 약간 다른 해결책이 있었습니다: HTTP 지원을 사용하여 GIT를 재구성하는 것입니다.

git:프로토콜이 회사 방화벽을 통해 작동하지 않았습니다.

예를 들어, 시간이 초과되었습니다.

git clone git://github.com/miksago/node-websocket-server.git

curl github.com잘 작동합니다. 저는 제 하만작, 잘합니다를 . 그래서 저는 제 것을 압니다.http_proxy환경 변수가 정확합니다.

사용해 보았습니다.http아래와 같이, 그러나 즉시 오류가 발생했습니다.

git clone http://github.com/miksago/node-websocket-server.git

->>>  fatal: Unable to find remote helper for 'http' <<<-

다음과 같이 Git을 다시 컴파일해 보았습니다.

./configure  --with-curl --with-expat

하지만 여전히 치명적인 오류가 있습니다.

몇 시간 후에 구성 파일을 읽고 다음과 같은 내용을 확인했습니다.

컬 헤더 및 라이브러리 파일이 다음 위치에 있는 경우 CURLDIR=/foo/bar를 정의합니다.

/foo/bar/lib 디렉터리 및 /foo/bar/lib 디렉터리.

나는 그때 내가 따르지 않았다는 것을 기억했습니다.curl머리글 파일을 찾아다녔어요아니나 다를까, 그것들은 설치되지 않았습니다.그것이 문제였다.Make는 누락된 헤더 파일에 대해 불평하지 않았습니다.그래서 나는 깨닫지 못했습니다.--with-curl옵션은 아무것도 하지 않았습니다(사실 그것은 내 버전의 기본값입니다).git).

수정하기 위해 다음을 수행했습니다.

  1. 만들기에 필요한 헤더 추가:

    yum install curl-devel
    (expat-devel-1.95.8-8.3.el5_5.3.i386  was already installed).
    
  2. git/usr/local(새 설치가 그곳에 있기를 원하기 때문에).

    제히거습다니했간단▁removed다를 제거했습니다.git*/usr/local/share그리고./usr/local/libexec

  3. 다을를포함포는검색다니습했함음하를▁▁theainings가 포함된 된 dir를 했습니다.curl그리고.expat머리글 파일, 그리고 (읽었기 때문에)configure)는 so는다 같과환추경가습니다했에이와

    export CURLDIR=/usr/include 
    export EXPATDIR=/usr/include
    
  4. 뛰었다configure같은 을 사용하여,한 번 옵사여을하, 설했습니, 명다에서에서 했습니다.configure파일 자체 및 기본값이기도 했지만 대체 무엇입니까?

    ./configure  --with-curl --with-expat
    
  5. 그리고 지금은http와 함께 작동합니다.git회사 방화벽을 통해:

    git clone http://github.com/miksago/node-websocket-server.git
    Cloning into 'node-websocket-server'...
    * Couldn't find host github.com in the .netrc file, using defaults
    * About to connect() to proxy proxy.entp.attws.com port 8080
    *   Trying 135.214.40.30... * connected
    ...
    

제게 효과가 있었습니다.

git config --global http.proxy proxy_user:proxy_passwd@proxy_ip:proxy_port

이것이 구글에 첫 번째 결과이기 때문에, 제가 찾은 이 블로그 게시물은 컬 인증서를 업데이트함으로써 저에게 문제를 해결했습니다.

http://www.simplicidade.org/notes/archives/2011/06/github_ssl_ca_errors.html

프록시 체인 사용

proxychains git pull ...

업데이트: 프록시 체인이 중단되었습니다. 대신 프록시 체인-ng을 사용하십시오.

언급할 가치가 있습니다.인터넷 상의 대부분의 예는 다음과 같은 예를 보여줍니다.

git config --global http.proxy proxy_user:proxy_passwd@proxy_ip:proxy_port

따라서 프록시에 인증이 필요한 경우 git-config에 회사 암호를 남겨야 합니다.그건 정말 멋지지 않아요.

그러나 암호 없이 사용자를 구성하는 경우:

git config --global http.proxy proxy_user@proxy_ip:proxy_port

Git는 (적어도 자격 증명이 없는 내 윈도우즈 시스템에서는) 이를 인식하고 재접속 시 프록시 암호를 묻는 메시지를 표시합니다.

사용할 수 있는 항목:

git config --add http.proxy http://user:password@proxy_host:proxy_port

다음 방법이 저에게 적합합니다.

echo 'export http_proxy=http://username:password@roxy_host:port/' >> ~/.bash_profile
echo 'export https_proxy=http://username:password@roxy_host:port' >> ~/.bash_profile
  • Zsh 노트:~/.bash_profile 대신 ~/.zshenv 파일을 수정합니다.
  • Ubuntu 및 Fedora 참고:~/.bash_profile 대신 ~/.bashrc 파일을 수정합니다.

특정 URL에 대한 프록시를 설정하는 방법이 있습니다. http를 참조하십시오.<url>.*의 섹션git config설명서.예를 들어, 다음과 같은 경우https://github.com/ 수 있는

git config --global 'http.https://github.com/.proxy' http://proxy.mycompany:80

Windows의 경우

--> C:/Users/user_name/gitconfig로 이동합니다.

아래 세부 정보로 gitconfig 파일 업데이트

[계속]

[계속]

proxy = https://your_proxy:your_port

[계속]

proxy = http://your_proxy:your_port

프록시 및 포트 번호를 확인하는 방법은 무엇입니까?

Internet Explorer -> 설정 -> 인터넷 옵션 -> 연결 -> LAN 설정

이것은 프록시의 문제가 아닙니다.github(orgit)의 문제입니다.리눅스의 git-1.6.0.1에서도 실패합니다.버그는 이미 보고되었습니다.

당신의 페이스트리는 이미 구글에 있으므로 그것들을 삭제해야 합니다.편집: 꿈을 꾸고 있었나 봐요, 삭제할 수 없을 것 같아요.대신 Gist를 사용하시겠습니까?

$slot_slot은 http://github.com 에 대한 것입니다.$slot_slot은 https://github.com 에 대한 것입니다...

위의 답변은 프록시가 인증을 필요로 하지 않을 때 도움이 되었습니다.인증이 필요한 프록시를 사용하는 경우 CCProxy를 사용할 수 있습니다.여기서 설정하는 방법에 대한 작은 튜토리얼이 있습니다.

http://blog.praveenkumar.co.in/2012/09/proxy-free-windows-xp78-and-mobiles.html

저는 새로운 저장소를 밀고 당기고 만들 수 있었습니다.모든 것이 잘 작동했습니다.저처럼 Git에 문제가 있다면 새 버전을 제거하고 다시 설치해야 합니다.

저는 https를 사용하여 프록시를 우회했습니다...일부 프록시는 https를 확인하지도 않습니다.

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

c:\git\meantest>git clone http://github.com/linnovate/mean.git
Cloning into 'mean'...
fatal: unable to access 'http://github.com/linnovate/mean.git/': Failed connect
to github.com:80; No error

c:\git\meantest>git clone https://github.com/linnovate/mean.git
Cloning into 'mean'...
remote: Reusing existing pack: 2587, done.
remote: Counting objects: 27, done.
remote: Compressing objects: 100% (24/24), done.
rRemote: Total 2614 (delta 3), reused 4 (delta 0)eceiving objects:  98% (2562/26

Receiving objects: 100% (2614/2614), 1.76 MiB | 305.00 KiB/s, done.
Resolving deltas: 100% (1166/1166), done.
Checking connectivity... done

많은 사람들이 답변했지만 이것은 auth로 프록시 뒤에 있는 Winodws USER만을 위한 것입니다.

재설치 중(처음 실패, 제거하지 않음).

Goto ->
**Windows**
1. msysgit\installer-tmp\etc\gitconfig
    Under [http]
        proxy = http://user:pass@url:port

**Linux**
1. msysgit\installer-tmp\setup-msysgit.sh
      export HTTP_PROXY="http://USER:PASS@proxy.abc.com:8080"

user/pass에 특별한 문자가 있으면 url_http를 사용합니다.

@user2188765를 대체해 .git://을 사용한 http[s]:// 답변 참조

언급URL : https://stackoverflow.com/questions/128035/how-do-i-pull-from-a-git-repository-through-an-http-proxy