多用户配置
公司和github,经常会遇到要多用户使用git的情况,以下为配置信息,以下拿xiaoxuete1 & xiaofute2举例
设置ssh-key
ssh-keygen -t rsa -C "xiaofute1@mail.com"
- 会提示存储的文件名,输入
- 如果需要push时确认的密码,可在该步骤输入
- .pub文件内容复制到github的ssh-key配置中(勿忘,否则连接不上)
配置config文件
新建config 文件,用来指定不同的用户读取的rsa文件 // 注释部分需要删除
# Default user
Host coding // host地址对应的别名,切换用户使用该名称
HostName xxx.xx.xx.xx // host地址 我这里填的是公司搭建的git仓库的ip地址
User xiaofute1
IdentityFile ~/.ssh/id_rsa_default // ssh-key文件地址 默认只会读取id_rsa
# second user
Host github
HostName github.com
User xiaofute2
IdentityFile ~/.ssh/id_rsa_github
切换用户
// 这里就用到了配置文件中的host对应的字段
ssh -T git@github
// 输出表示成功
Hi xiaofute2! You've successfully authenticated, but GitHub
does not provide shell access.
验证出错
验证过程中出现 Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
删除 known_hosts 文件。执行以下命令
ssh -T -v git@xxx.xx.xx.xx
执行如下命令 ssh-agent bash
然后再执行 ssh-add ~/.ssh/id_ras 即可。
用户名配置
全局
git config --global user.name "xiaofute1"
git config --global user.email "xiaofute1@mail.com"
本地
本地仓库文件夹下配置用户名 会在当前仓库中提交试用该用户信息提交,覆盖全局的配置、
git config user.name "xiaofute2"
git config user.email "xiaofute2@mail.com"
- 因为我的全局配置的为default user的用户名和邮箱,在github上的commits history中会link不到用户,所以每次
git init
后需要配置该本地仓库的用户信息
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。