多项目git账户用户名和邮箱设置以及局部github代理
因为公司使用自建的gitlab服务器所以需要配置两个git账户分别用来访问公司仓库和自己的github仓库。
前言:
首先给大家梳理一下多用户名或者说多邮箱使用git的理解误区。我们需要知道的是我们的电脑在于远程代码仓库交互的过程中其实是通过ssh进行连接的,所以最重要的是远程仓库能够允许你现在使用的这台电脑连接到它的服务器。而仓库服务器判断是否允许你连接的凭证是ssh的配置而不是你的git账户。
以github为例,如果你的git.user中的name和email是错误的但是对应的错误的ssh被成功添加到了你的账户setting的ssh中,那么它就会将这个新的用户名和邮箱视为你当前github邮箱账户的别名,除了在git提交记录中不会显示正确的头像外不会有其他影响。
但是有强迫症的我们还是希望提交的代码记录中有自己的头像,点击名字就能跳转到正确的github账户主页的,所以相应的git账户也应该配置正确。对于公司git私服来说如果git账户不是公司邮箱就可能完全没法用了。
此外我们需要了解的是git 项目的全局global
和局部local
的区别,如果我们要在自己的github项目上加代理就不要给全局加代理了, 否则公司的git项目就没法用了。
下面开始完整的正式教程:
正式教程:
1.取消默认的全局git账户
清空默认的全局 user.name
和 user.email
git config --global --unset user.name
git config --global --unset user.email
2.为不同的 git
账户生成不同的 ssh-key
ssh-keygen -t id_ras_github -C "xxx@xx.com"
ssh-keygen -t id_ras_company -C "xxx@company.com"
位置请放在默认位置,否则你可能会用到苹果电脑mac os打开隐藏文件夹的快捷键是
方法1.通过键盘快捷键显示隐藏文件夹
输入组合快捷键:【
command + shift + .
】就可以显示出隐藏文件夹了。再输入一次组合快捷键【
command + shift + .
】就可以继续隐藏文件夹了。
- 将
ssh-key
分别添加到ssh-agent
信任列表
此处文件路径对应本地实际文件情况
ssh-add ~/.ssh/id_ras_github
ssh-add ~/.ssh/id_ras_company
- 添加公钥到自己的
git
账户中
使用命令,copy公钥,到 git 账户网站setting中粘贴即可
pbcopy < ~/.ssh/id_ras_github.pub
pbcopy < ~/.ssh/id_ras_company.pub
- 在
config
文件配置多个ssh-key
在 .ssh/ 目录下,config文件(没有的话新建一个,没有后缀),mac os建议使用vscode来管理文件。
具体项目调整:
现在我们拥有了两个git ssh账户,他们不是global全局账户,当我们在具体的项目下面时,以使用pycharm为例,在项目中打开terminal,我们可以设置本项目的git账户用户名和邮箱,用来制定项目使用的项目远程仓库,另外我们也可以为本项目设置代理,都需要用到local
。
设置项目git账户:
git config --local user.name xxxx
git config --local user.email xxxx@xxx.com
查看验证git账户:
git config user.name
git config user.email
设置局部项目代理:
git config --local http.proxy http://127.0.0.1:7890
git config --local https.proxy http://127.0.0.1:7890
文中用到的参考文献:
[1]配置多个git账号,作者:_偏要吃兔兔,链接:https://juejin.cn/post/6999630383130083358
本文作者:孤飞
本文链接:https://www.cnblogs.com/ranxi169/p/17867134.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步