赞
踩
同一个人在不同电脑上用不同的账户同步同一个git库代码完全没有问题
多个人同一台电脑上有多个git库用不同git账号同一个ssh key同步一个或多个git库代码也没有问题
如果多个人用同一台电脑,且需要不同的认证或同一个电脑连接两个不同的github账号(多个ssh key对应不同的git库且能智能选择)
这里的git库可能是同一个服务的库(多个github库),可能是多个完全不同的库(github有,gitlab也有,公司的还有)
重要:如果只是想要不同的git邮箱和用户名只需要在每个git的工程里面的配置文件中修改即可,就是不要配置全局的。看清自己的需求是否是上面描述的是否需要下面的操作。
1. 生成多套ssh key
ssh-keygen -t rsa -C "不同的邮箱们"
这里不同于默认全部回车直接生成id_rsa,这里要给不同的git账号(邮箱)起不同的名字,比如id_rsa_github,别的没区别。这样就会有多套key
2. 让这些key生效,ssh-add -K ~/.ssh/id_rsa 不知道重启要不要重新弄。。。
如果出现Could not open a connection to your authentication agent.
先这个:ssh-agent bash(win下的话eval `ssh-agent`)
可以用这个删除所有key:ssh-add -D
查看key的情况:ssh-add -l
2. 不同的id_rsa.pub同样需要添加到各自的网站里面哈
3. 修改ssh config文件
如果没有就创建。~/.ssh/config
内容是这样的,对于每一个git账号(邮箱)都是这样,有几个账号就写几套这个东西:
Host github.com # 主机名字,这个随便起一个名字就好了
HostName github.com # 主机名,有域名的写域名,没域名的写ip,如果写ip下面可以加一条Port 22这种端口信息。
User git # 用户名,这个其实要看你的git的ssh协议的用户名,一般是git,也可能是别的
IdentityFile ~/.ssh/id_rsa.pub # 公钥文件,这个就要对应写上刚刚生成的那些个公钥。
4. 删除本地全局设置
如果之前设置过git config -global user.name 和 user.email要用git config -global unset user.name 和 user.email删除掉,或者直接把用户目录下的.gitconfig文件删除,然后为每个仓库设置独立的用户名和邮箱,就是在仓库里面用上面的命令不要global选项
5. 非常重要:
以上步骤我在我的电脑上重复了多次都没有成功,看了所有的教程发现我的做法好像没有问题,但是不知道为什么,有大大可以指教的话指教一下,不过当然我其实没有这种需求,所以果断先放下这个,好好工作。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。