对Git用户名与Github账户关系的理解

git、gitee、github关系梳理及ssh不对称加密大白话解释 大白话讲清楚使用git 操作gitee github的流程,以及ssh的简单原理。 阅读详情
AI摘要

本文详细解析了Git配置中的用户名与邮箱设置,以及SSH密钥对的生成与应用。阐述了不同场景下,如何合理设定本地Git的user.name与user.email,以及SSH密钥对的注释与代码托管网站的关联,帮助读者理解并正确配置Git环境。

入门学习Git的过程中,产生了这样的困惑:

在电脑上,如果要用Git,我们需要通过命令git config --global user.name "myname"和git config --global user.email "myname@email.com"来配置用户名和email,表明是“谁”在操作Git,来做提交代码等等一系列操作。

另外,如果我们需要使用代码托管的服务,比如GitHub,GitHub也会要求我们提供email和用户名来注册来注册,也需要用户名和email。

再有,如果我们选择用ssh来访问GitHub的话(比用https方便,https每次都需要输入用户名密码),需要产生密钥对,很多人推荐的产生秘钥对的方法是用命令ssh-keygen -t rsa -C "myname@email.com",又要提供一个email。

这三个地方的email到底什么关系,该怎么设置呢?下面是我的理解,可能有偏颇,看官取精华,去糟粕,不要恶语相向。

基本前提建设

1. 个人电脑情况

电脑简称说明
HoPC家中使用的台式电脑,Mac系统
CoPC公司使用的台式电脑,Windows系统
Book自己的笔记本电脑,Windows系统
VM开发用虚拟机,Linux系统

2. 代码托管网站账户情况

代码托管网站用户名email地址说明
GitHubpersonalpersonal@126.com个人邮箱
Giteecompanycompany@company.cn公司邮箱

假定的情况是这样,需要在4台电脑(3台真实物理机,1台虚拟机)上做开发,我们假设一部分个人的兴趣性工作,代码托管到GitHub,另一部分是公司的工作,代码托管到Gitee上,现实中可能是公司搭建的私有服务器,这里用Gitee来假设。

该如何设定

1. SSH秘钥该如何产生和设定

设定SSH秘钥,一定要理解,SSH密钥对本质上是为了方便,用来替代用户名口令的认证方式的。从代码托管网站的角度来说,我们注册的时候,提供了我们邮箱,用户名,并设定了密码,因此代码托管网站只能通过用户名口令来认证是否真的是我们这个账户的拥有者在操作。所以,如果用https的方式,就不用产生什么密钥对了,但是,每次都输入密码,不方便。

SSH方式,本地产生密钥对,然后把公钥加入到代码托管网站的秘钥允许列表里面,把公钥加入到网站的允许列表这一步是需要密码授权的。这样操作,网站承认这样一个事实:用这个密钥对访问我,等同于提供了密码。密钥对保存在某台机器上,这样从这台机器上访问网站就不需要密码了,因为这台机器上能找到秘钥来替代口令进行认证。

所以,很多博客上,产生秘钥对的时候命令是:ssh-keygen -t rsa -C "myname@email.com",里面的-C参数带的email地址没有什么实际用处。从命令本身来说,-C只是给产生的秘钥对加了一个注释。用notepad++打开id_rsa.pub,可以看到末尾处,有这个email地址,方便以后拿到这个密钥对的时候,根据这个可能能回忆起来当初产生这个密钥对是干嘛的。

结论1:产生ssh密钥对时,ssh-keygen -t rsa -C "myname@email.com",里面输入的email与Git设定的用户名,与GitHub等代码托管网站的用户名毫无关联。

推荐做法是:每台电脑上产生秘钥对时,加注释信息内容主要跟这台机器相关的内容,并且把秘钥加入到代码托管网站的列表里面的时候,用这个跟某台电脑密切相关的名称。以后如果,不用这台电脑了,从网站上删除这个秘钥很方便。

电脑简称秘钥对产生注释代码托管网站上秘钥标题
HoPC-C “HoPC”HoPC
CoPC-C “CoPC”CoPC
Book-C “Book”Book
VM-C “VM”VM

产生了4个密钥对,把这个4个秘钥对的公钥,分别加入到GitHub和Gitee的SSH公钥列表里面。对于某台电脑来说,只需要一个密钥对,就能够访问多个代码托管网站了,我们这里,访问GitHub的时候,秘钥替代了personal@126.com这个账户的的密码,而访问Gitee的时候,就代表的是company@company.cn这个账户了。

2. git本地用户名和email如何设定

这里需要注意的是代码托管网站对本地设定的账户是如何处理的。代码托管网站,主要看email,用email地址来匹配自己的账户名的邮件地址,如果相同,代码托管网站就认为此操作是账户所有者的操作。比如:

如果本地设定的user.email值是:personal@126.com,由于在GitHub上的账户的邮件地址也是personal@126.com,如果从这台电脑push的话,GitHub会认定这次这个push是账户拥有者自己做的,跟直接登录到GitHub,从网站上修改,是相同的,修改人是一样,就是账户拥有者。

如果本地设定的user.email值是:company@company.cn,也能push到GitHub,GitHub会记录这次的修改是另一个人(用户名是company)做的。

另外,还需要注意,user.name和user.email除了设定全局值(–gloabl)之外,还可以在具体的代码目录中设定自己的user.name和user.email值。

user.name和user.email的设定策略就是:设定global值的时候,考虑一下,这台电脑做公司的事多还是自己的事多,比如公司的电脑,明显做公司的事情多,在我们这里最好设定成:user.email = company@company.cn,user.name = company。当我们需要在公司电脑上干点私活的时候,具体的项目目录中,git config user.name "personal",git config user.email "personal@126.com",把值改成符合自己要求的。

总结

  • ssh-keygen产生的秘钥对,每台电脑有一对就够了,有些博客指导一台电脑配置多个密钥对,必要性不强。

  • 代码托管网站上,推荐用电脑本身相关信息来做秘钥对的标题。在本地生成ssh密钥对时也推荐用这个信息来做密钥对的注释。

  • 配置本地git用户名时,全局配置(–global)考虑该电脑上的工作主要push到哪个服务器,配置成跟那个服务器一致的用户名和邮件地址最好。

  • 如果出了主要push的服务器外,这台电脑上的工作还需要push到其他服务器,那么在具体的项目目录下,把用户名和邮件地址配置成和特定的服务器相同即可。

Git远程仓库配置实战:从本地到GitHub的完美同步 ✅远程仓库创建:在GitHub上建立代码托管空间✅仓库关联配置:使用建立连接✅代码同步推送:通过实现首次推送✅日常操作流程:掌握后续开发中的Git使用核心收获远程仓库不仅是代码备份,更是团队协作的基础正确的SSH配置是成功推送的前提-u参数只需在首次推送时使用,后续操作更简便现在,你的代码有了双重保障:本地开发的便利性 + 远程备份的安全性。无论是个人项目还是团队协作,这套配置都将成为你开发路上的得力助手。下一步建议:尝试邀请其他开发者协作你的项目,体验Git分布式版本控制的强大魅力。 阅读详情

相关推荐

如何使用Git参与GitHub开源项目:入门全流程

如何使用Git参与GitHub开源项目?

Code_流苏:在代码中寻诗意,在实践中觅真知 1409

本地git的用户名可以和远程git的用户名不一样吗?

当您在本地进行代码提交时,Git会使用本地配置的用户名和邮箱地址作为提交记录的作者信息。请注意,如果您在远程仓库中使用不同的用户名,提交历史记录可能会显示不一致的作者信息,可能会引起其他开发者的困惑。本地Git的用户名和邮箱地址主要用于标识提交记录中的作者信息,而远程Git服务(如GitHub、GitLab、Gitee等)上的用户名通常用于身份验证和访问控制。这意味着您可以在本地使用不同的用户名和邮箱地址,只要在远程Git服务上使用正确的账号信息进行身份验证即可。

weixin_44943389的博客 1657

第六节 【Git远程仓库篇】Ubuntu系统SSH免密连接Github配置方法

Ubuntu系统SSH免密连接Github配置方法

jks212454的博客 3548

github使用笔记(2)

先pull(拉)后push(推)论非程序员用户GitHub的日常用法:$ git pull origin master fatal: unable to access 'https://github.com/bison-abner/springmvc-tutorial.git/': OpenSSL SSL_read: Connection was reset, errno 10054 遇到这样的问题该怎么解决尝试使用 SSH 协议进行拉取,可以通过命令 git remote set-url origin g

m0_62574889的博客 751

SAP采购申请详述;以及采购计划协议/交货计划行

SAP采购申请详述;以及采购计划协议/交货计划行

saplakes的博客 4341

AD(AltiumDesigner)封装导入allegro生成allegro封装

AD(AltiumDesigner)封装导入allegro生成allegro封装 貌似PCB的封装问题是一个无尽话题,为了简单我总是想找捷径(主要还是太懒了),因为也是近期才开始学习使用allegro进行PCB设计,在最近的一个设计中,很多器件封装allegro中都没有,一个一个画感觉很费时间,但是在AD(AltiumDesigner)的封装库中是有的,于是便想着AD的封装库能不能倒入到alleg...

yangh2560的博客 2万+

git的基础知识-小白使用

git 的使用和基础的知识

weixin_45105259的博客 535

使用cubeMX生成USB HID设备

本文主要介绍如何使用stm32开发板和cubeMX生成HID设备,供参考。

专注音频,高效工作,快乐生活! 970

GitHub使用用户名与不使用用户名(通过gh-pages分支)创建个人主页的方法

使用master分支创建形式为https://.github.io的个人主页;使用gh-page分支创建形式为https://.github.io/的个人主页。

m0_62545037的博客 3704

open-web UI 实用指南

open-web UI 类似于chatgpt的界面,可以私有化模型本地部署,也可以用商业模型.本文只是用开源模型. 它以实现多模态AI聊天 , AI 翻译 , 语音转文本, 文本转语音, 文生图,代码助手,可谓利器。

szmars的博客 3万+

PaddleOCR PP-OCRv5实战:5分钟搞定身份证信息提取(附完整代码)

本文详细介绍了如何利用PaddleOCR的PP-OCRv5模型,在5分钟内快速搭建身份证信息提取流程。文章从环境搭建、核心代码实战出发,深入解析了PP-OCRv5针对证件识别的优化特性,并提供了从OCR结果到结构化数据的完整处理方案与避坑指南,帮助开发者高效实现AI驱动的自动化信息提取。

salt9的博客 782

配置多个git账号,gitlab和github

当gitlab的host和hostname不一致的时候会出现,gitlab的ssh配置好了,但是每次clone或者push的时候都需要进行无数次输入密码。

不爱修图的摄影爱好者 2548

让 AI 自己“画施工图”——基于扩散模型的智能 CAD 管线生成

AI驱动CAD管线设计革命:Layout2CAD实现30秒自动化出图 针对设计院70%时间耗费在管线绘制的问题,研究团队基于Stable Diffusion开发了Layout2CAD系统,实现建筑草图到DWG施工图的智能转换。该系统采用三阶段流程:语义分割建筑底图→扩散生成多通道Heatmap(含管径/标高信息)→矢量化输出DWG实体,结合129M参数的多模块模型(Diffusion UNet+GraphRefiner)及规范判别器,确保1mm精度并自动满足GB50015-2019标准。

qq_74383080的博客 2014

设置git账号

git知识

何谓之明也 2138

《大数据之路:阿里巴巴大数据实践》-第1篇 数据技术篇 -第3章数据同步

我们将数据釆集分为日志采集和数据库数据同步两 部分。数据同步技术更通用的含义是不同系统间的数据流转,有多种不 同的应用场景。主数据库与备份数据库之间的数据备份,以及主系统与 子系统之间的数据更新,属于同类型不同集群数据库之间的数据同步。 另外,还有不同地域、不同数据库类型之间的数据传输交换,比如分布 式业务系统与数据仓库系统之间的数据同步。对于大数据系统来说,包 含数据从业务系统同步进入数据仓库和数据从数据仓库同步进入数据 服务或数据应用两个方面。本章侧重讲解数据从业务系统同步进入数据 仓库这个环节,但其适

m0_54252387的博客 961

数仓建模:维度表合并时,如何处理可能出现的数据冲突?

通过以上方法,可以有效地处理维度表合并时可能出现的数据冲突,确保合并后的数据完整性、一致性和准确性,满足业务需求和数据仓库的性能要求。在合并过程中,需要根据实际情况选择合适的处理方法,并进行充分的测试和验证。(2)实战中总结的SQL技巧,帮助SQLBOY在SQL语言上有质的飞越,无论你应对业务难题及面试都会游刃有余【如果您觉得本文还不错,对你有帮助,那么不妨可以关注一下我的数字化建设实践之路专栏,这里的内容会更精彩。技巧总结,让你认识不一样的数仓。,数据库会抛出异常,可根据异常处理机制解决。

石榴姐yyds 1132

对使用Git、GitHub时邮箱和用户名的理解

对使用Git、GitHub时邮箱和用户名的理解

header_files 8605

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

android studio 配置git 地址,androidstudio 配置git和github

git是版本控制工具github是一个网站,git可以把项目上传至这个网站1:先下载git,并且安装,一般默认即可,安装成功可以点击电脑右键出现2:生成id_rsa.pub, 配置账号和邮箱点击电脑左键,出现上图,点击Git Base Here出现输入ssh-keygen -t rsa -C 你的邮箱点击enter,一路enter;这样就生成了id_rsa.pub(默认地址C:\Users\Adm...

weixin_42575505的博客 1903

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

关于Git这一篇就够了

目录 前言 发展过程 集中式与分布式的区别 Debian/Linux安装Git 配置git环境:git config --global 创建本地空仓库:git init 新建文件添加到本地仓库:git add、git commit -m 改写提交:git commit --amend 查看历史提交日志:git log 回滚代码仓库:git reset --hard 查看提交之后文件是否做了改动:git status 工作区与缓存区 修改缓存区内容:git add、git co.

17岁boy的博客 53万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

git安装配置教程(小白保姆教程2024最新版)

git安装配置教程(小白保姆教程2024最新版)——Git是目前世界上最先进的分布式版本控制系统,没有之一!说到Git,另一个需要知道的便是GitHub,GitHub是目前使用最多的社交代码托管平台。Git Hub,字面意思就是Git中心枢纽的意思,它是基于Git的,仅支持git 作为唯一的版本库格式进行托管,故名GitHub。

一枚嵌入式小白菜的摸爬滚打之路 11万+

如何使用与学习github?

分支管理:使用分支管理不同的功能模块或修复,保证 master 分支(或主分支)始终是稳定的版本。Fork:如果你想贡献别人的项目,可以先通过 Fork 创建一个你自己的副本,然后在这个副本上做修改,最后通过 Pull Request 请求原作者合并你的修改。GitHub Learning Lab:GitHub 官方提供的学习平台,包含多个关于 Git 和 GitHub 的实战教程,适合初学者和有经验的开发者。GitHub 的使用建立在对 Git 的理解上,学会 Git 是学习 GitHub 的第一步。

2301_80013718的博客 458

git入门

是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。到。

qq_62881798的博客 1781

git 本地仓库上传到github管理(一)

git 本地仓库上传到github管理(一)旨在突出在github新建账户,并新建仓库。为使用git把本地仓库传到github之上做铺垫。 git 本地仓库上传到github管理(二)旨在突出git与github之间的关系。并以图示简单描绘,方便初学者理解。 git 本地仓库上传到github管理(三)旨在突出git作为上传工具,将git本地存储仓库(保存的工程、文件等)上传到gith

lihongtao8209的专栏 370

Git项目管理与Github使用

git项目管理

WenBayBay的博客 1401

Git环境的配置

Git环境的配置 ????博客首页:*铁甲小宝同学* ????文章目的:带来一份Git教程——请查收???? ????博主也在学习阶段,如若发现问题,请告知,非常感谢???? ????同时也非常感谢各位小伙伴们的支持???? ????每日一语:习惯是一个很可怕的东西,因为习惯,会觉得理所当然。因为习惯,没有人去想如果失去是什么模样。 一、Git的介绍 Git:软件版本控制的统治之路. 在 2005 年,Linus Torvalds 迫切需要一个新的版本控制系统来维护 Linux 内核的开发。. 于是

小宝的博客 2186
上一篇: 一招教你如何设置无线路由器
下一篇: 源码分析数组和集合之间的转换
Apple_Web
博客等级 码龄9年 938粉丝 257原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值