介绍Git的安装,ssh配置的操作。

Git安装与配置

Git安装

1
sudo apt install git

git安装完成后,做用户名与邮箱的配置:

1
2
git config --global user.name "username"
git config --global user.email "example@email.com"

SSH配置

  • 打开bash,cd ~/.ssh,可查看是否存在SSH;

  • 生成密钥:

    1
    ssh-keygen -t ed25519 -C "your_email@example.com" # (推荐) 

    如果系统不支持ed25519,使用:

    1
    # ssh-keygen -t rsa -b 4096 -C "email@example.com"

    配置一个账户是,连续回车即可。(如果配置多账户,记得修改文件名。)得到两个文件: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
2
ssh -T git@github.com # ssh -T git@gitlab.com
yes

配置多个git账号

使用ssh-keygen生成多个文件id_ed25519和id_ed25519_work。添加到对应的网站。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
touch ~/.ssh/config
gedit ~/.ssh/config

# 添加一下内容
# Personal account
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519

# Work account
Host workgithub.com
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_work

验证ssh服务是否开启,需要注意的是,-T 后边跟的内容就是 git@”config中Host的内容”,也就是clone仓库的内容。

1
2
ssh -T git@github.com
ssh -T git@workgithub.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` 都去掉