介绍Git的安装,ssh配置的操作。
Git安装与配置
Git安装
1 | sudo apt install git |
git安装完成后,做用户名与邮箱的配置:
1 | git config --global user.name "username" |
SSH配置
打开bash,
cd ~/.ssh
,可查看是否存在SSH;生成密钥:
1
ssh-keygen -t ed25519 -C "your_email@example.com" # (推荐)
如果系统不支持ed25519,使用:
1
配置一个账户是,连续回车即可。(如果配置多账户,记得修改文件名。)得到两个文件:id_ed25519和id_ed25519.pub。
添加密钥到ssh-agent
1
ssh-add ~/.ssh/id_ed25519
ssh-agent是一种控制用来保存公钥身份验证所使用的私钥的程序,其实ssh-agent就是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程。如果ssh-agent不可用,输入以下命令:
1
eval "$(ssh-agent -s)"
将ssh添加到git
以github为例复制~/.ssh/id_ed25519.pub文件中的内容,粘贴到github个人账户设置中ssh keys的对应位置。
测试
1 | ssh -T git@github.com # ssh -T git@gitlab.com |
配置多个git账号
使用ssh-keygen生成多个文件id_ed25519和id_ed25519_work。添加到对应的网站。
1 | touch ~/.ssh/config |
验证ssh服务是否开启,需要注意的是,-T 后边跟的内容就是 git@”config中Host的内容”,也就是clone仓库的内容。
1 | ssh -T git@github.com |
gitlab和github不同账号配置
一般开发用户可能配置过一个git的账号,并且添加了一个全局账号。
清除git的全局设置
使用git config --list
查看当前配置。
如果你之前在设置本地仓库和github连接的时候设置过user.name和user.email,那么你必须首先清楚掉该设置,因为不清楚掉该设置,两个账号在提交资料的时候,验证肯定冲突(只能设置一个全局的user.name和user.email,而你现在有两个账号就对应两个不同的)。
1.取消global
git config --global --unset user.name
git config --global --unset user.email
2.设置每个项目repo的自己的user.email
git config user.email "xxxx@xx.com"
git config user.name "suzie"
或者直接直接编辑电脑.gitconfig 文件
$ cd ~ // 进入根目录
$ vim .gitconfig // 把 `name` 和 `email` 都去掉