Git 项目托管一般都支持两种协议:https 和 ssh,使用 ssh 协议的话需要在机器上进行简单的配置
配置 Git 的 user name 和 email:(如果之前没设置)
# you name
$ git config --global user.name "xxxx"
# you email
$ git config --global user.email "xx@xx.com"
配置完成, 可以查看配置信息
# 查看当前用户(global)配置
$ git config --global --list
# 查看系统config
$ git config --system --list
# 查看当前仓库配置信息
$ git config --local --list
使用 ssh-keygen 生成密钥
$ ssh-keygen -t rsa -C "xx@xx.com"
参数简介
参数 | 描述 |
---|---|
-t | 指定密钥类型,可选 rsa、rsa1、dsa,默认为 rsa |
-C | 提供一个注释,比如邮箱 |
-f | 指定密钥文件名,一般省略该参数,保持默认 |
执行上面的命令以后,屏幕上会提示如下内容:
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]
推荐默认就好(直接按回车),当然也可以用 -f 命令指定文件名,像下面这样:
$ ssh-keygen -t rsa -C "xx@xx.com" -f "file_name"
接着又会提示输入两次密码(该密码是 push 文件的时候要输入的密码,而不是 github 管理者的密码)
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
当然,也可以不输入密码,直接按回车,这样就不用每次 push 的时候输入密码了
最后是一些密钥生成成功的提示,密钥生成完毕后,可以使用下面的命令查看一下生成的两个文件:
$ cd ~/.ssh
$ ls
# id_rsa id_rsa.pub
将 id_rsa.pub 文件中的内容复制粘贴到仓库对应的地方。由于不同的 Git 服务器,在界面添加的区域不一样,所以不做详述。附上查看文件内容的命令:
$ cat ~/.ssh/id_rsa.pub
查看当前 remote url
$ git remote -v
# origin https://gitlab-someaccount.net/frontend/someproject.git (fetch)
# origin https://gitlab-someaccount.net/frontend/someproject.git (push)
修改当前 remote url
git remote set-url origin git@github.com:someaccount/someproject.git