建设局网站简介,海南在线分类信息,银河麒麟软件下载网站,万网云服务器怎么上传网站吗在开发上我们经常遇到#xff0c;需要跟别人共享代码#xff0c;特别是跟有些客户联合开发的情况下#xff0c;有很多个客户。有些git仓库是客户建立的#xff0c;比如有两个客户A和分布建了gitA和gitB两个代码仓库。我们在支持这两个客户的时候可能是同一个工程师#xf… 在开发上我们经常遇到需要跟别人共享代码特别是跟有些客户联合开发的情况下有很多个客户。有些git仓库是客户建立的比如有两个客户A和分布建了gitA和gitB两个代码仓库。我们在支持这两个客户的时候可能是同一个工程师那这个工程师怎么访问这两个git代码仓库呢 我们都比较熟悉的下载代码使用git clone通过ssh下载git仓库代码要下载这个仓库的代码我们就需要把我们电脑上的ssh公钥的key配置到这个仓库权限里面去通过gitA的公钥管理添加公钥即可但是如果有两个工程呢实践证明不能使用同一个公钥提示公钥被他人占用了那怎么办呢 可以这样再生成一个公钥通过ssh-keygen来 ssh-keygen -t rsa -C youremail 回车保存key的文件名称需要跟以前的不一样不然就覆盖掉了比如输入id_rsa_key2 有了id_rsa_key2.pub我们把它的内容粘贴到gitB的公钥管理里面去添加上这样添加了在git仓库端的配置就算完成了。 迫不及待的试试同步代码发现后面添加的gitB同步不了代码被拒绝了gitA这个时候是可以正常同步的 那怎么办
需要配置ssh的config把几个公钥都配置进去 # Default GitHub gitA Host gitee.com HostName gitee.com User git PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa1 # id_rsa_key2 gitB Host tsgitee.com HostName gitee.com User git PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_key2 我们可以发现其实gitAgitB的HostName都是一样的同一个平台的gitee.com的。user都是git证书存放的位置就各有一些不一样了根据实际密钥名称来填写。
/*****************************************************************************************************/ 声明本博内容均由http://blog.csdn.net/edsam49原创转载请注明出处谢谢 /*****************************************************************************************************/
注意我们发现Host是不大一样的因为gitA和gitB的HostName是一样的没法区别了只有通过一个Host的别名来区分一下该使用哪对密钥。那么gitB的下载地址本身是gitgitee.com:ds/gitB.git你发现通过这个地址没法下载就算以前下载了也sync不来代码 那得使用上Host的别名啊地址变更一下gittsgitee.com:ds/gitB.git这样子一改变发现下载代码好使了 这样看git remote信息 这样下来就可以同时支持下载到两个工程的代码了。