git配置用户名和邮箱

git config --global user.name "XXXX"
git config --global user.email "XXX@163.com"

git使用ssh密钥

  • git支持https和git两种传输协议

我们可以自由选择任意一种协议来管理我们的项目,但是一般推荐使用SSH而不用https,因为

  1. https可以随意克隆 github 上的项目,而不管是谁的;而ssh则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加 SSH key ,否则无法克隆。
  2. https url 在 push 的时候是需要验证用户名和密码的;而 SSH 在 push 的时候,是不需要输入用户名的,如果配置SSH key 的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。
  • 生成 SSH Key

    1. 查看本地是否已经生成过SSH密钥
    cd ~/.ssh
    ls
    #查看是否存在密钥文件
    #看一下有没有id_rsa和id_rsa.pub(或者是id_dsa和id_dsa.pub之类成对的文件),有 .pub 后缀的文件就是公钥,另一个文件则是密钥
    
    1. 不存在的话,则生成一个密钥
    ssh-keygen -t rsa -C "your_email@youremail.com"
    # 代码参数含义:
    # -t 指定密钥类型,默认是 rsa ,可以省略,还可以指定为 dsa。
    # -C 设置注释文字,比如邮箱。
    # -f 指定密钥文件存储文件名。可以省略,使用默认值 id_rsa 和 id_rsa.pub。
    Creates a new ssh key using the provided email # Generating public/private rsa 
    key pair.
    Enter file in which to save the key (/home/you/.ssh/id_rsa):
    

接着又会提示你输入两次密码(该密码是你 push 文件的时候要输入的密码,而不是 github 管理者的密码),当然,你也可以不输入密码,直接按回车(推荐)。那么 push 的时候就不需要输入密码,直接提交到 github 上了。
完了之后,大概是这样:

Your public key has been saved in /home/you/.ssh/id_rsa.pub.
The key fingerprint is: # 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@youremail.com
  • 添加公钥到你的远程仓库(github)

    1. 查看你生成的公钥:

cat ~/.ssh/id_rsa.pub

  2. 登陆你的github帐户。点击你的头像,然后 Settings -> 左栏点击 SSH and GPG keys -> 点击 New SSH key
  3. 然后你复制上面的公钥内容,粘贴进“Key”文本域内。标题名字可以随便起。
  4. 点击 Add key。
  5. 验证下这个key是不是正常工作:
  ```sh
  ssh -T git@github.com

如果,看到:

Hi xxx! You've successfully authenticated, but GitHub does not # provide shell access.

则代表你已经设置成功。

修改git的remote url

使用命令 git remote -v 查看你当前的 remote url

git remote -v
# 如果是(https) origin  https://github.com/XXXXX 则使用git remote set-url 将https改为git
git remote set-url origin git@github.com:XXXXx
#可以再用命令 git remote -v 查看一下,url是否已经变成了ssh地址。