在使用Git以及GitHub时会多次用到“邮箱”和“用户名”,这里记录一下它们的区别。
登录GitHub时
这里的用户名或邮箱是用于登录GitHub这个网站的。
配置Git时
git config --global user.name "用户名"
git config --global user.email "邮箱"
这两条命令是配置 Git 的全局用户名和邮箱,在进行版本控制时用于记录用户身份信息。Git在commit信息中会显示提交人及其邮箱地址,方便追踪提交记录。因此这里的邮箱和用户名是为了回溯是谁提交的代码,并不需要一定填写GitHub的用户名和邮箱,甚至是可以随便填写的用户名和邮箱(当然,极其不建议这样做)。
在使用GitHub时,可能会发现一个bug:虽然提交了commit,但是主页却不显示contributions。这个bug很可能就是在Git配置的邮箱地址与GitHub中的邮箱地址不符合造成的。
- 如果本地设定的user.email值与GitHub上的账户的邮件地址相同,GitHub会认定推送代码的操作是账户拥有者自己做的,跟直接登录到GitHub,从网站上修改,是相同的。此时,修改人是一样,就是账户拥有者。
- 如果本地设定的user.email值与GitHub不同,也能把代码推送到GitHub(只要密码或者ssh正确),GitHub会记录这次的修改是另一个人做的。
设置SSH Key时
GitHub通过HTTPS协议(密码)或者SSH验证身份。其中:
- HTTPS协议只认账号。如果使用HTTPS操作远程仓库,则需要使用账号密码来做权限的认证。
- SSH协议只认机器。当使用SSH操作远程仓库的话,需要使用公钥和私钥对来做权限的认证。
为了方便操作,一般都是使用SSH协议,当使用SSH协议时,需要在本地电脑上生成公钥和私钥对,然后在GitHub上配置公钥。公钥和私钥对使用如下指令生成:
ssh-keygen -t rsa -f id_rsa.github -C "XXX"
其中:
- -t:指定密钥的类型,密钥的类型有RSA和DSA两种
- rsa:指使用RSA算法
- -f:指定存储密钥的文件名
- -C:表示提供一个用于识别这个密钥的注释,一般填写邮箱地址,但也可以填入其他内容
本文为转载,原文链接:https://blog.csdn.net/qq_41100617/article/details/131891875