`

git ,hg,svn等代理

 
阅读更多


1,CVS
CVS使用代理非常麻烦,似乎不能用http代理(如果偶错了请提醒),而socks代理相当难找。好在这个东东已经慢慢变成了昨日黄花,我们不讨论它。

2,SVN
SVN比较方便,编辑~/.subversion/servers文件即可:
[global]
http-proxy-host = <代理的ip或域名>
http-proxy-port = <代理端口>
http-proxy-username = <用户名,如果需要的话>
http-proxy-password = <密码,如果需要的话>

3,HG
HG更简单,因为它使用的是http协议,一个命令解决:
export http_proxy=http://<用户名>:<密码>@<ip>:<端口>

4,Git
Git可以使用两种协议,git协议和http,如果是后者,那么办法跟HG一样,如果是git,比较麻烦,但也不是不可解决:
先去下载一个协议转换小工具:http://www.meadowy.org/~gotoh/ssh/connect.c
编译之:gcc -o connect connect.c
将生成的connect放到可执行文件路径中,如/usr/bin

然后创建一个使用代理的脚本,假设是http-proxy-gw,注意加上可执行属性,内容如下:
#!/bin/sh
# Filename: ~/bin/http-proxy-gw
# This script connects to an HTTP proxy using connect.c
connect -H http://yourproxyaddress:proxyport $@

最后,配置git:
git config --global core.gitproxy "http-proxy-gw for xxx.yyy"
后面的xxx.yyy是域名后缀,比如,下载linux源码就可以是设置为kernel.org

 

 

 

在实验室想git点东东下来,折腾了会,算是基本可用了吧
man git-config 可以看到git支持的代理是依赖别的程序的
这里我使用的是一个别人写的代理小程序,见附件
配置步骤如下:
 
1. gcc -o connect connect.c
   mv connect ~/bin
2. 设置一个wrapper
   echo "/home/gigi/bin/connect -H proxy.bupt.edu.cn:8080 $@" >> ~/bin/proxy
   chmod +x ~/bin/proxy
这里我使用的是学校的代理 proxy.bupt.edu.cn,端口是8080
connect这个小程序还支持socket代理,用法是connect -S host:port
3. echo "export CONNECT_USER=bergwolf" >> .bashrc
   echo "export GIT_PROXY_COMMAND=proxy" >> .bashrc
connect程序从环境变量CONNECT_USER和CONNECT_PASSWORD
中读取用户名和密码,如果密码没有设置,在连接时会要求输入
GIT_PROXY_COMMAND是git默认使用的代理程序,也可以在.git/config中设置
 
到此git代理设置就完成了,试用一下:
[gigi-Ubuntu:bin]$git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git  
Initialized empty Git repository in /home/gigi/bin/e2fsprogs/.git/
Enter proxy authentication password for bergwolf@proxy.bupt.edu.cn:  
remote: Counting objects: 24006, done.
remote: Compressing objects: 100% (4701/4701), done.
ceiving objects:   1% (241/24006), 43.99 KiB | 56 KiB/s  
 

分享到:
评论

相关推荐

    ubuntu下RabbitVCS安装方法(SVN、GIT、Hg 工具)

    ubuntu下RabbitVCS安装方法。 适用于SVN、GIT、Hg 的客户端工具。 集成右键菜单

    SVN,HG,GIT命令对照.pdf

    SVN,HG,GIT是三种常见的版本控制系统,本文简单列出一些相似的操作命令。当然,三种系统各有特点,严格的对应关系是没有的。

    vcs-reader:最小的Java库,用于读取VCS提交(git,hg,svn)

    Vcs阅读器 这是一个Java(和JVM语言)库,...从此处下载(wget,curl等) Maven: &lt; groupId&gt;org.vcsreader &lt; artifactId&gt;vcsreader &lt; version&gt;1.0.0 Gradle: repositories { mavenCentral() } dependenci

    Git权威指南PDF完整版

    2.10 代理SVN提交实现移动式办公/ 19 2.11 无处不在的分页器/ 20 2.12 快/ 21 第3章 Git的安装和使用/ 22 3.1 在Linux 下安装和使用 Git/ 22 3.1.1 包管理器方式安装/ 22 3.1.2 从源代码进行安装/ 23 3.1.3 从Git...

    Git权威指南

    第6篇介绍了版本库的迁移,包括如何从cvs、svn、hg等版本库迁移到git,以及git版本库整理等方面的内容。第7篇讲解了git的其他应用,包括etckeeper、gistore等的安装、配置和使用,以及补丁中的二进制文件和云存储等...

    git使用入门教程

    初学者使用 简单入门教程 总结的还可以 好吧首先介绍的这个文档是我自己在网上搜罗了一些资料再加上一些自己的理解,可能有些地方会有错误,...现在的市面上的主要的版本控制有三种git、svn、hg。这里主要的是介绍git。

    Git权威指南【样张】

    第6篇介绍了版本库的迁移,包括如何从cvs、svn、hg等版本库迁移到git,以及git版本库整理等方面的内容。第7篇讲解了git的其他应用,包括etckeeper、gistore等的安装、配置和使用,以及补丁中的二进制文件和云存储等...

    rapid:支持git,hg,svn的VCS帐户和设置管理器

    │ ├── git.png │ ├── hg.png │ ├── svn.svg │ └── vcs.txt ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── README.md ├── scripts │ ├── install.sh │ └── uninstall...

    vc.vim:支持SVN,Git,HG和BZR

    vc.vim 用于Subversion(svn),GIT,HG和BZR存储库的VIM(VIM 7及更高版本)插件。 支持浏览存储库,工作副本,书签。 自动完成命令选项,文件,目录,回购网址注意:svnj.vim用户,将所有设置从svnj_替换为vc_ ##...

    linux-gitpromptGITSVN和HG模块的bash提示符

    git-prompt - GIT, SVN和HG模块的bash提示符

    bash-prompt-vcs:在bash提示中显示git,Mercurial(hg)和Subversion(svn)工作树的状态作为环境信息

    Bash提示版本控制状态 在bash提示中显示 , 和工作树的状态作为环境信息。 安装 将放在某个地方,然后在您的.bashrc添加: if [ -f /path/to/bash-prompt-vcs.bash ] ; then ....fi 这将定义函数bpvcs_bash_prompt&#...

    SVN(mac版)软件

    SourceTree是Windows和Mac OS X下免费的Git和Hg客户端,支持创建、克隆、提交、push、pull 和合并等操作。

    svnj.vim:VIM SVN插件(Subversion SVN vim7)

    #svnj.vim #注意:现在可以在获得支持SVN,GIT,HG和BZR的脚本的新版本和改进版本。 克隆新脚本后,svnj.vim的用户只需将.vimrc设置从svnj_更改为vc_ 用于Subversion(svn)的VIM(VIM 7及更高版本)插件支持浏览...

    quicktag-maven-plugin:Quciktag Maven插件-轻松将构建信息嵌入到Java应用程序中

    当前支持的VCS: GIT 水银SVN 当前支持的构建服务器: 竹子詹金斯团队城市插件调用的命令:git describe用于GIT,svn info用于SVN,hg --id用于Mercurial。 在Mac Os,Windows和Ubuntu / Linux下进行了测试。作者...

    obs-service-tar_scm:OBS源服务-git source code

    除了git,hg,bzr或svn等各种SCM外,它还支持--url选项,该选项可让您指定要下载的上游tarball的URL。 tar_scm可以与其他服务结合使用,例如在工作流程中,可以使用 , 或等其他服务。 不推荐使用tar_scm

    MySQL的架构管理CLI-Golang开发

    借助CLI工具,您可以:将CREATE TABLE语句导出到文件系统中,以便在存储库(git,hg,svn等)中进行跟踪。产品),并使其保持轻松同步配置用于执行ALTE的在线模式更改工具(例如pt-online-schema-change)的使用

    sourcetree windows版本

    Sourcetree for mac是 Windows 和Mac OS X 下免费的SVN、Git 和 Hg 客户端,同时也是Mercurial和Subversion版本控制系统工具。Sourcetree for mac支持创建、克隆、提交、push、pull 和合并等操作。SourceTree拥有一...

    vcs:通过Go中的通用接口进行VCS Repo管理

    目前支持Git,SVN,Bazaar(Bzr)和Mercurial(Hg)。 它们每个都有自己的类型(例如GitRepo ),它们遵循简单的命名模式。 每种类型都实现Repo接口并具有构造函数(例如NewGitRepo )。 构造函数与NewRepo具有相同...

    run:开发人员的脚本管理器

    它有助于使用 git、svn 或 hg 管理脚本。 它有助于自然地重用所有脚本。 它与 GitHub 等高度集成。 如果您正在编写脚本,请立即尝试! 这个怎么运作 安装 run 后,我们可以执行run pt-summary或run github:run...

    Go包管理工具gopm.zip

    无需安装 git、svn 或 hg 版本管理工具即可下载包。 基于指定版本来下载、安装或构建您的包。 在您未授权的情况下,gopm build 或 gopm install 命令的任何操作都发生在自身的 GOPATH 中而不会...

Global site tag (gtag.js) - Google Analytics