通过代理使用 GitHub
Git 是非常好用的开发工具,越来越离不开了。 如果要与他人合作项目,GitHub 是很好的平台。 但如果身处受限网络,要管理 GitHub 上的项目, 还是要费一番周折的。 GitHub 网页访问应该不用说了,工具多得是。 我要说的是对项目进行管理,比如 push/pull 操
Git 是非常好用的开发工具,越来越离不开了。 如果要与他人合作项目,GitHub 是很好的平台。 但如果身处受限网络,要管理 GitHub 上的项目, 还是要费一番周折的。
GitHub 网页访问应该不用说了,工具多得是。 我要说的是对项目进行管理,比如 push/pull 操作等。
最简单的方式是通过 https_proxy,比如:
export https_proxy=http://127.0.0.1:8087
然后将仓库地址改为 HTTP 方式。
虽然简单,但有一点不方便,就是进行写操作时, 比如 push ,会需要手工输入用户名和密码, 而不是 GitHub 常用的证书自动认证。
更好的方法还是走 ssh 协议代理, 这需要一个软件 connect-proxy。 Ubuntu 下可以通过 Apt 安装, ArchLinux 下要通过 AUR 安装( 包地址 )。
先要有 Socks 代理,通常,可以使用无限制网络的 VPS, 然后使用 ssh 打个隧道:
# Native ssh ssh -D 127.0.0.1:22888 -CfNg domain.tld -o ControlPath=/tmp/ssh-22888-domain.tld # OR # 使用 authssh 更方便 autossh -M 0 -D 127.0.0.1:22888 -CfNg domain.tld -o ControlPath=/tmp/ssh-22888-domain.tld
可以 telnet localhost 22888 检查通不通。
然后,在 $HOME/.ssh/config 中添加一段:
Host github.com # On Ubuntu ProxyCommand /usr/bin/connect-proxy -S 127.0.0.1:22888 %h %p # OR # On ArchLinux ProxyCommand /usr/bin/connect -S 127.0.0.1:22888 %h %p
-S 参数如果换成 -H ,就是使用 http 代理, 效果应该和上面的简单方法一样。
最后,将仓库地址改为 SSH 方式。 现在,本地 GitHub 仓库中 push 操作就正常了,简单测试一下 GitHub 登录:
$ ssh -T git@github.com Hi fwolf! You've successfully authenticated, but GitHub does not provide shell access.
参考
- How to set up Git to get through a proxy
- git pull/push to github.com in proxy environment
- 如何为 Git 设置代理?
- Github 使用socks 代理
原文地址:通过代理使用 GitHub, 感谢原作者分享。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











git 저장소를 삭제하려면 다음 단계를 따르십시오. 삭제하려는 저장소를 확인하십시오. 로컬 리포지토리 삭제 : rm -rf 명령을 사용하여 폴더를 삭제하십시오. 원격으로 창고 삭제 : 창고 설정으로 이동하고 "창고 삭제"옵션을 찾은 후 작동을 확인하십시오.

Git Commit은 프로젝트의 현재 상태에 대한 스냅 샷을 저장하기 위해 파일 변경을 GIT 저장소에 기록하는 명령입니다. 사용 방법은 다음과 같습니다. 임시 저장 영역에 변경 사항 추가 제출 메시지를 저장하고 종료하기 위해 간결하고 유익한 제출 메시지를 작성하여 제출을 완료하기 위해 제출물을 완료하십시오. 제출자에 서명을 추가하여 제출 내용을보기 위해 GIT 로그를 사용하십시오.

GIT 서버를 공개 네트워크에 연결하려면 5 가지 단계가 포함됩니다. 1. 공개 IP 주소 설정. 2. 방화벽 포트를 엽니 다 (22, 9418, 80/443); 3. SSH 액세스 구성 (키 쌍 생성, 사용자 생성); 4. HTTP/HTTPS 액세스 구성 (설치 서버, 권한 구성); 5. 연결을 테스트합니다 (SSH 클라이언트 또는 GIT 명령 사용).

GIT를 통해 SSH를 감지하려면 다음 단계를 수행해야합니다. SSH 키 쌍을 생성하십시오. GIT 서버에 공개 키를 추가하십시오. SSH를 사용하도록 GIT를 구성하십시오. SSH 연결을 테스트하십시오. 실제 조건에 따라 가능한 문제를 해결하십시오.

GIT를 통해 로컬로 프로젝트를 다운로드하려면 다음 단계를 따르십시오. GIT를 설치하십시오. 프로젝트 디렉토리로 이동하십시오. 다음 명령을 사용하여 원격 저장소 클로닝 : git 클론 https://github.com/username/repository-name.git

해결 : GIT 다운로드 속도가 느리면 다음 단계를 수행 할 수 있습니다. 네트워크 연결을 확인하고 연결 방법을 전환하십시오. GIT 구성 최적화 : 포스트 버퍼 크기를 늘리고 (GIT 구성-글로벌 http.postBuffer 524288000) 저속 제한 (git config --global http.lowspeedlimit 1000)을 줄입니다. git 프록시 (예 : git-proxy 또는 git-lfs-proxy)를 사용하십시오. 다른 git 클라이언트 (예 : Sourcetree 또는 Github 데스크탑)를 사용해보십시오. 화재 보호를 확인하십시오

전자 상거래 웹 사이트를 개발할 때 어려운 문제가 발생했습니다. 대량의 제품 데이터에서 효율적인 검색 기능을 달성하는 방법은 무엇입니까? 기존 데이터베이스 검색은 비효율적이며 사용자 경험이 좋지 않습니다. 일부 연구 후, 나는 검색 엔진 타입을 발견하고 공식 PHP 클라이언트 Typeense/Typeense-PHP를 통해이 문제를 해결하여 검색 성능을 크게 향상 시켰습니다.

git 커밋을 되돌려 보려면 Git Reset -Hard Head ~ N 명령을 사용할 수 있습니다. 여기서 N은 폴백의 커밋 수를 나타냅니다. 자세한 단계에는 다음이 포함됩니다. 롤백 할 커밋 수를 결정합니다. -하드 옵션을 사용하여 폴백을 강요하십시오. 지정된 커밋으로 돌아 가기 위해 명령을 실행하십시오.
