多项目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.nameuser.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 + .】就可以继续隐藏文件夹了。

  1. ssh-key 分别添加到 ssh-agent 信任列表

此处文件路径对应本地实际文件情况

ssh-add ~/.ssh/id_ras_github
ssh-add ~/.ssh/id_ras_company
  1. 添加公钥到自己的 git 账户中

使用命令,copy公钥,到 git 账户网站setting中粘贴即可

pbcopy < ~/.ssh/id_ras_github.pub
pbcopy < ~/.ssh/id_ras_company.pub
  1. config 文件配置多个 ssh-key

在 .ssh/ 目录下,config文件(没有的话新建一个,没有后缀),mac os建议使用vscode来管理文件。

image-20231130134251473

具体项目调整:

现在我们拥有了两个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

posted @ 2023-11-30 13:45  孤飞  阅读(99)  评论(0编辑  收藏  举报