多项目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
多项目git账户用户名和邮箱设置以及局部github代理的更多相关文章
- 设置ubuntu 下git 的用户名和邮箱
设置ubuntu 下git 的用户名和邮箱 摘自 慢慢修远路,上下求索心http://yanshaozhi.iteye.com/blog/386752 虽然我没看怎么明白 但我用第一总方法就设置好了 ...
- 初次安装git配置用户名和邮箱
初次安装git配置用户名和邮箱 初次安装git需要配置用户名和邮箱,否则git会提示:please tell me who you are. 你需要运行命令来配置你的用户名和邮箱: $ git con ...
- git配置用户名跟邮箱
因为我有两个git账号 所以我现在要改变我的默认用户名跟邮件 我就需要去终端设置用户名跟邮箱 具体的命令行就是 设置git的用户名 git config --global user.name &quo ...
- git 配置用户名和邮箱
在安装了git for windows之后,个人总是忘记配置git config的命令,以此记录一下: 配置用户名和邮箱的命令 git config --global user.name " ...
- Git配置用户名与邮箱
1.用户名和邮箱地址的作用 用户名和邮箱地址是本地git客户端的一个变量 每次commit都会用用户名和邮箱纪录. github的contributions统计就是按邮箱来统计的. 2.查看用户名和邮 ...
- git修改用户名和邮箱
用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变. 每次commit都会用用户名和邮箱纪录. 1.查看用户名和地址 git config user.name git config us ...
- 转-git 配置用户名和邮箱
原址:http://www.cnblogs.com/fsong/p/5540840.html 在安装了git for windows之后,个人总是忘记配置git config的命令,以此记录一下: 配 ...
- git修改用户名以及邮箱
git 修改当前的project的用户名的命令为:git config user.name 你的目标用户名; git 修改当前的project提交邮箱的命令为:git config user.emai ...
- 初次安装git配置用户名和邮箱及密钥
在Windows上安装Git: 在Windows上使用Git,可以从Git官网直接下载安装程序,(网速慢的同学请移步国内镜像),然后按默认选项安装即可. 安装完成后 键盘敲上:windows+r你会看 ...
- Git配置用户名、邮箱、密码
配置用户名:username git config --global user.name username 配置邮箱:user@email git config --global user.email ...
随机推荐
- [jmeter]快速入门
前言 以压测一个api为例.假设有一个非常简单的api http://192.168.1.111:8080/,只是返回 helloworld 字符串. 准备 打开 jmeter,新建测试计划 在测试计 ...
- 部署安装maven和mvnd
前言 maven是常见的java构建工具,优点是稳定可靠,缺点是构建太慢,maven-mvnd是maven的强化版,致力于提高构建速度,默认情况下,mvnd 使用多核CPU并行构建. 常见的java构 ...
- CVE-2021-3156 Linux sudo权限提升漏洞复现
前言: 现在最火的莫不过是这个linux sudo权限提升漏洞了,sudo命令可以说是在linux中十分出名的命令了,在运维时很多时候都需要用到sudo命令,通过此漏洞,可以对具有一定权限的普通用户, ...
- javescript入门
js组成和基本结构 javascript缘由:可以实现html,css初级验证实现不了的复杂的验证 减轻服务器压力(在发送请求到服务器之前用javescript验证客户端) w3c标准:结构化(htm ...
- 知识图谱(Knowledge Graph)- Neo4j 5.10.0 Desktop & GraphXR
下载地址:https://neo4j.com/download/ 安装 下载时会产生激活码(保存下来) 下载完成后安装 运行后,输入激活码 进入主页面 运行自带的电影知识谱图测试是否安装成功 安装 G ...
- Web安全漏洞解决方案
1.已解密的登录请求 推理: AppScan 识别了不是通过 SSL 发送的登录请求. 测试请求和响应: 1.1.1 产生的原因 登录接口,前端传入的密码参数没有经过md5的加密就直接传给了后端 1. ...
- vscode 中 Markdown 粘贴图片的位置
背景 自从 typora 开始收费后, 不少人开始寻找其他的 Markdown编辑器, 我觉得 vscode 就是一个很不错的选择 虽然不能像 typora 在Markdown预览中编辑, 但是左右布 ...
- 智能AI 的应用场景
小凡智能AI是一款基于人工智能技术开发的助软件,能够帮助用户解决各种各样的问题,提高工作效率和生活质量.它的应用范围广泛,涵盖了工作.学习.健康等多个方面,为用户提供了全方位的服务支持. 在工作方面, ...
- 文心一言 VS 讯飞星火 VS chatgpt (93)-- 算法导论9.2 1题
一.用go语言,证明:在 RANDOMIZED-SELECT 中,对长度为0的数组,不会进行递归调用. 文心一言: 在 Go 语言中,我们可以通过实现一个函数来检查数组的长度,如果长度为0,则不进行递 ...
- Informix 4gl错误代码信息和更正
(一)Informix信息和更正 出版日期:6 1996 年 年 1 11 月 0 成功. 操作成功.当 SQL 语句成功地执行时,数据库服务器把这个 SQLCODE 值返回给应用程序. 100 没有 ...