因为公司使用自建的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来管理文件。

具体项目调整:

现在我们拥有了两个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代理的更多相关文章

  1. 设置ubuntu 下git 的用户名和邮箱

    设置ubuntu 下git 的用户名和邮箱 摘自  慢慢修远路,上下求索心http://yanshaozhi.iteye.com/blog/386752 虽然我没看怎么明白 但我用第一总方法就设置好了 ...

  2. 初次安装git配置用户名和邮箱

    初次安装git配置用户名和邮箱 初次安装git需要配置用户名和邮箱,否则git会提示:please tell me who you are. 你需要运行命令来配置你的用户名和邮箱: $ git con ...

  3. git配置用户名跟邮箱

    因为我有两个git账号 所以我现在要改变我的默认用户名跟邮件 我就需要去终端设置用户名跟邮箱 具体的命令行就是 设置git的用户名 git config --global user.name &quo ...

  4. git 配置用户名和邮箱

    在安装了git for windows之后,个人总是忘记配置git config的命令,以此记录一下: 配置用户名和邮箱的命令 git config --global user.name " ...

  5. Git配置用户名与邮箱

    1.用户名和邮箱地址的作用 用户名和邮箱地址是本地git客户端的一个变量 每次commit都会用用户名和邮箱纪录. github的contributions统计就是按邮箱来统计的. 2.查看用户名和邮 ...

  6. git修改用户名和邮箱

    用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变. 每次commit都会用用户名和邮箱纪录. 1.查看用户名和地址 git config user.name git config us ...

  7. 转-git 配置用户名和邮箱

    原址:http://www.cnblogs.com/fsong/p/5540840.html 在安装了git for windows之后,个人总是忘记配置git config的命令,以此记录一下: 配 ...

  8. git修改用户名以及邮箱

    git 修改当前的project的用户名的命令为:git config user.name 你的目标用户名; git 修改当前的project提交邮箱的命令为:git config user.emai ...

  9. 初次安装git配置用户名和邮箱及密钥

    在Windows上安装Git: 在Windows上使用Git,可以从Git官网直接下载安装程序,(网速慢的同学请移步国内镜像),然后按默认选项安装即可. 安装完成后 键盘敲上:windows+r你会看 ...

  10. Git配置用户名、邮箱、密码

    配置用户名:username git config --global user.name username 配置邮箱:user@email git config --global user.email ...

随机推荐

  1. 如何用windows任务视图管理多个程序,提高.net开发效率

    在 Windows 操作系统中,任务栏是一个非常重要的工具栏,用来显示当前正在运行的程序和任务.如果同时运行了很多程序,任务栏上的图标就会变得非常拥挤,不方便管理和切换.为了提高工作效率,可以通过任务 ...

  2. C# 中关于 T 泛型【C# 基础】

    〇.前言 C# 里面的泛型不仅可以使用泛型函数.泛型接口,也可以使用泛型类.泛型委托等等.在使用泛型的时候,它们会自行检测你传入参数的类型,因此它可以为我们省去大量的时间,不用一个个编写方法的重载.与 ...

  3. Qt安卓开发经验技巧总结V202308

    01:01-05 pro中引入安卓拓展模块 QT += androidextras . pro中指定安卓打包目录 ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android ...

  4. 【pandas小技巧】--category类型补充

    category类型在pandas基础系列中有一篇介绍数据类型的文章中已经介绍过.category类型并不是python中的类型,是pandas特有的类型. category类型的优势那篇文章已经介绍 ...

  5. [译]2023年 Web Coponent 现状

    本文为翻译 原文地址:2023 State of Web Components: Today's standards and a glimpse into the future. 最近,我写了关于如何 ...

  6. 杰哥教你面试之一百问系列:java多线程

    java多线程是java面试中的高频问题,如何才能在面试中脱颖而出呢?熟读这里的一百个java多线程面试问题即可. 1. 什么是线程?什么是进程? 回答: 线程是操作系统能够进行调度的最小执行单位,它 ...

  7. SqlServer修改表字段类型

    if not exists (select 1 from syscolumns where name='字段名' and id=OBJECT_ID('表名') and 条件) begin alter ...

  8. CodeForces 1388C Uncle Bogdan and Country Happiness

    题意 给一棵\(n\)节点的树,每个节点有\(a[i]\)个人住,他们从\(1\)号节点回家,回家路上可能从开心的状态变成不开心的状态(但不可以由不开心变为开心),每个节点有个探测器,会探测经过该节点 ...

  9. cpu分布式训练论文阅读

    Large Scale Distributed Deep Networks Downpour SGD: 模型的副本采用异步方式从参数服务器(Parameter Server)中获取参数w和上传Δw到参 ...

  10. 搭建企业知识库:基于 Wiki.js 的实践指南

    一.简介 在当今知识经济时代,企业知识库的建设变得越来越重要.它不仅有助于企业知识的沉淀和共享,还能提升员工的工作效率,促进企业的创新发展.企业知识库是企业中形成结构化文档,共享知识的集群,可以促进企 ...