什么是Git
Git是一个免费的、开源的分布式版本控制系统,旨在快速高效地处理从小型到大型的所有项目。
Git易于学习,占用空间小,性能快如闪电。它超越了像Subversion、CVS、Perforce和ClearCase这样的配置管理工具,具有像廉价的本地分支、方便的分段区域和多个工作流这样的特性。
为什么写这篇文章?
帮助小白解决如何配置Git的 key 也就是 秘钥。同时解决以下困扰。
其实单一账号git查看配置,地址,key ,基本上没什么问题,大家正常使用即可。但是 你有不同的地址,又有不同的账号,还同时对应不同的key。
比如你有多个github账号。统一个key 只可以被一个账号绑定。然后你不同账号切换的时候就很麻烦。虽然也可以单独项目去配置。但是小编比较懒,就没选取那个方法了。当然,你可以通过http的 方式拉取。但是有的仓库会限制不允许Http拉取的时候,是不是就很麻烦了呢?
生成 SSH Key
# 生成命令 格式
ssh-keygen -t rsa -C "xxx@xx.com"
#实例
ssh-keygen -t rsa -C "yinjie.feng@foxmail.com"
#快捷生成
#second@mail.com 工作邮箱地址
ssh-keygen -t rsa -C 'second@mail.com' -f id_rsa_second
这里是提示你生成的ssh key 的存储路径和名称;
将生成的公钥拷贝到剪贴板上,到git管理页面贴入即可
ADD SSH Key
测试连接是否成功
# GitHub 测试
ssh -T git@github.com
# Gitee 测试
ssh -T git@git.oschina.net
设置用户名
# 命令
git config --global user.name "username"
# 案例
git config --global user.name "jackfeng"
# 查看
git config user.name
邮箱
# 命令
git config --global user.email useremail@163.com
# 案例
git config --global user.email yinjie.feng@foxmail.com
#查看
git config user.email
设置列表
# 查看
git config --list
# 修改
git config --global user.name "username"
git config --global user.email "email"
# 修改密码
git config --global credential.helper store (输入这个命令后,以后只要在输入一次用户名密码)
配置多账户
解决你有多个Git账户时,导致账号密码错误,无法进行仓库拉取,提交等操作,难点在于账号切花,key的配置相对简单。
Git核心配置
实际上Git有三种配置文件(优先级从上往下):
git config –global 这个命令只是改变git的全局配置文件.
git commit 和 git push 实际用到的是两套用户信息.
查看全局配置
# 查看
git config --list #查看当前配置(默认全局)
git config --list --global #查看全局配置
#查看用户名和 邮箱
git config --global user.name
git config --global user.email
# 全局配置
git config --global user.name "username" // 配置全局用户名,如Github上注册的用户名
git config --global user.email "username@mail.com" // 配置全局邮箱,如Github上配置的邮箱
移除全局配置
# 移除全局配置账户
git config --global --unset user.name
#查看全局用户名
git config --global user.name
# 移除全局配置邮箱
git config --global --unset user.email
# 查看全局邮箱
git config --global user.email
# 移除全局密码
git config --global --unset user.password
# 查看全局密码
git config --global user.password
开始配置对每个账户生成一对密钥
首先进入保存秘钥的目录,该目录下保存秘钥,需要提醒的是这个目录是默认隐藏的,可以打开Finder,同事按下command + shift + .即可显示全部隐藏文件
cd ~/.ssh //查看秘钥目录
然后,根据账户邮箱生成秘钥。如我在gitee上的邮箱是yinjie.feng@163.com,则命令为:
ssh-keygen -t rsa -C "yinjie.feng@163.com"
#快捷生成
#second@mail.com 工作邮箱地址
ssh-keygen -t rsa -C 'yinjie.feng@mail.com' -f id_rsa_jack
私钥添加到本地
SSH协议的原理,就是在托管网站上使用公钥,在本地使用私钥,这样本地仓库就可以和远程仓库进行通信。在上一步已经生成了秘钥文件,接下来需要使用秘钥文件,首先是在本地使用秘钥文件:
ssh-add ~/.ssh/id_rsa_github // 将GitHub私钥添加到本地
ssh-add ~/.ssh/id_rsa_gitlab // 将GitLab私钥添加到本地
ssh-add ~/.ssh/id_rsa_jack // 个人的第一个
ssh-add ~/.ssh/id_rsa_pyrsa //私有库
为了检验本地是否添加成功,可以使用ssh-add -l命令进行查看
对本地秘钥进行配置
由于添加了多个密钥文件,所以需要对这多个密钥进行管理。在.ssh目录下新建一个config文件。
touch config
每个账号配置一个Host节点。主要配置项说明:
"""
Host 主机别名
HostName 服务器真实地址
IdentityFile 私钥文件路径
PreferredAuthentications 认证方式
User 用户名
"""
# 配置文件内容
#网站的别名,随意取
Host Jack
# 托管网站的域名
HostName gitee.com
#指定优先使用哪种方式验证,支持密码和秘钥验证方式
PreferredAuthentications publickey
# 托管网站上的用户名,最好写账户邮箱,否则容易设置失败
User a2data@163.com
# 使用的密钥文件
IdentityFile ~/.ssh/id_rsa_jack
# GitLab的配置相同
Host Github
HostName github.com
IdentityFile ~/.ssh/id_rsa_jack
PreferredAuthentications publickey
User yinjie.feng@foxmail.com
终端测试SSH Key是否生效
ssh -T git@Github
注意事项
Host 是别名,替代的是 github.com,在push/pull代码是git查看配置,切记格式:
git@github.com:A2Data/MockData.git //原仓库地址
git@Github:A2Data/MockData.git // 使用时用别名
git clone git@Github:A2Data/MockData.git //如clone 时用别名
实测克隆项目
请长按扫码加小编,回复关键词:数据可视化
进群一起学习交流吧
▲长按扫
-今日互动-
你get到了吗?欢迎文章下方留言互动
如果感觉对你有帮助的话
来个「转发朋友圈」和「在看」,一起见证你的努力和成长,是对我们最大的支持!
———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: wxii2p22