GIT 学习笔记 2 - Github Gitcafe 多用户配置

Github Gitcafe 多用户配置

步骤一:用ssh-keygen命令生成一组新的id_rsa_new和id_rsa_new.pub。

$ ssh-keygen -t rsa -C "new@email.com"

平时我们都是直接回车,默认生成id_rsa和id_rsa.pub。这里特别需要注意,出现提示输入文件名的时候要输入与默认配置不一样的文件名,比如: id_rsa_new。

步骤二:配置~/.ssh/config文件,以我自己的机器为例。

# Default Git
Host github.com
  HostName IP Address #域名也可
  User think
  IdentityFile ~/.ssh/id_rsa
 
# 2nd. Git
Host username1.gitcafe.com  # 同一个网站多账号可以这样配置
  HostName IP Address #域名也可
  User think
  IdentityFile ~/.ssh/id_rsa_second

# 3rd. Git
Host username2.gitcafe.com
  HostName IP Address #域名也可
  User think
  IdentityFile ~/.ssh/id_rsa_second

Host就是每个SSH连接的单独代号,IdentityFile告诉SSH连接去读取哪个私钥。

步骤三:执行ssh-agent让ssh识别新的私钥。

$ ssh-add ~/.ssh/id_rsa_new 十分重要!!

该命令如果报错:Could not open a connection to your authentication agent.无法连接到ssh agent,可执行ssh-agent bash命令后再执行ssh-add命令。
以后,在clone或者add remote的时候,需要把config文件中的host代替git@remoteaddress中的remoteaddress。

同时,你可以通过在特定的repo下执行下面的命令,生成区别于全局设置的user.name和user.email。

git config user.name "newname"
git config user.email "newemail"

#git config --global --unset user.name 取消全局设置
#git config --global --unset user.email 取消全局设置

例子:

在同一机器不同目录下克隆远程同一个repo

cd /home/user1
git clone git@defaultgit:xxx.git
 
cd /home/user2
git clone git@secondgit:xxx.git

上面的两条clone命令,虽然关联到同一个repo,却是通过不同ssh连接,当然也是不同的git账号。

同时你的github的repo ssh url就要做相应的修改了,比如根据上面的配置,原连接地址是:
git@github.com:username1/gopkg.git
那么根据上面的配置,就要把github.com换成username1.github.com, 那么ssh解析的时候就会自动把username1.github.com 转换为 github.com,修改后就是
git@username1.github.com:username1/gopkg.git
如果你想测试一下连接,可用如下命令

$ ssh -T git@yourHost  //我这是ssh -T git@username1.github.com

ssh再加"-v"参数时,可输出更多的调试信息

对了还要记得修改git提交的地址

$ git remote rm origin 
$ git remote add origin git@username1.github.com:username1/gopkg.git
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容