公司电脑和家里电脑,多账号多平台多环境上的项目,如何配置多账号git的pull和push?
一 window10上配置:
1. 在C:/Users/your_user_name/.ssh文件夹中 生成 SSH 公钥和私钥
ssh-keygen -t rsa -b 4096 -C "xxx@xxx.com" # 回车时,将默认的id_rsa重命名成id_rsa_xxx
# 生成2个文件,有.pub 的是公钥,没有则是私钥
2. 将公钥分别添加至对应的服务器上
// 通常配置在服务器的:设置=》SSH公钥
// 输入一个备注名称,粘贴进KEY
3. 在C:/Users/your_user_name/.ssh文件夹中创建config文件
# gitee平台 注意里面的 gitee
Host gitee.com
HostName gitee.com
IdentityFile C:Usersl.sshid_rsa_XXX
PreferredAuthentications publickey
User gitee_username
4. 测试
# 服务器是哪个测试哪个 ssh -T git@github.com ssh -T git@gitee.com # Hi XXX! You've successfully authenticated, but GITEE.COM does not provide shell access. # 以上表示成功
# 拉取
git clone git@gitee.com:xxx/xxx.git
# 修改个文件后测试push权限 git add . git commit -m 'remark' git push
# 不成功 可能要配置以下第5项
5. 配置局部或全局变量(提交时的账号和用户名)
# 进入相应Git项目中,输入如下命令 git config user.name "your_name" git config user.email "your_email@xxx.com"
# 查看
git config user.email
git config user.name
# 如果没有局部Git账号则会用全局Git账号(建议局部) # 查看全局 git config --global user.name git config --global user.email # 配置全局 git config --global user.name "your_name" git config --global user.email "your_email@xxx.com" # 删除全局 git config --global --unset user.name git config --global --unset user.email
二 MAC上配置:(跟window有点不同)
1. 在.ssh文件夹中 生成 SSH 公钥和私钥
# mac的.ssh文件夹目录在: cd ~/.ssh
# 生成
ssh-keygen -t rsa -C "XXX@XX.xom"
2. 配置公钥,同上面的2
并且注意:私钥添加到本地
ssh-add ~/.ssh/id_rsa_XXX // 为了检验本地是否添加成功,可以使用ssh-add -l命令进行查看 ssh-add -l // 可以看到较之前多了一行
3. 配置config文件,同上面的3
4. 测试同上面的4
5. 全局配置同上面的5
注:
cat ~/.ssh/id_rsa.pub #查看公钥用
MAC版参见:
https://gitee.com/help/articles/4181#article-header0
https://juejin.cn/post/6844903880837300238