主要就是git的配置,包括代理、多个git账户使用配置。
git代理
启动代理
http方式设置
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy https://127.0.0.1:1080
其他设置(待验证)
git config --global http.proxy socks5://127.0.0.1:1080
git config --global https.proxy socks5://127.0.0.1:1080
取消http设置
git config --global --unset http.proxy
git config --global --unset https.proxy
ssh方式设置
使用 git@xxoo.com 这种方式,是用的 SSH 协议。需要在 ~/.ssh/config 目录下配置
Host xxoo.com(改成你的站点)
ProxyCommand connect -H 127.0.0.1:1080 %h %p
多个git账户使用
生成新的ssh
ssh-keygen -t rsa -C "for duoda"
执行ssh-agent让ssh识别新的私钥
ssh-agent bash
ssh-add ~/.ssh/id_rsa_duoda
将新的ssh-pub放到gitlab的ssh下
配置.ssh/config
Host jiangjunyouling.gitlab.com
HostName gitlab.com
User jiangyunyouling
IdentityFile ~/.ssh/id_rsa
# second
Host duodasunyanfeng.gitlab.com
HostName gitlab.com
User duodasunyanfeng
IdentityFile ~/.ssh/id_rsa_duoda
这一步花费了很多功夫,现解释一下:
Host类似与一个key值,用来代表其下的内容
HostName 这里需要写仓库的地址,gitlab.com才可,使用账号名是不好使的
User有人写的是git,这里我写的都是账号名,经过测试,并不影响结果
IndentityFile是私钥的位置
测试
使用时可以先用ssh -T 进行测试
ssh -T git@jiangjunyouling.gitlab.com
ssh -T git@duodasunyanfeng.gitlab.com
这里需要注意2点:
- 要使用git@的形式才可,直接使用git -T jiangjunyouling.gitlab.com不可以
- git@后面的值为Host的值,也就是key值,若Host为 duodasunyanfeng 则 ssh -T git@duodasunyanfeng 即可
clone代码库
在clone时,原来的地址:git@gitlab.com:duobang/xxxx.git
要修改为:git@duodasunyanfeng.gitlab.com:duobang/xxxx.git来指明使用那个进行clone