此经验分两部分:
第一部分介绍:在windows下通过msysGit(Git for windows、Git Bash)配置SSH Keys连接GitHub。
第二部分介绍:在GitHub上创建仓库,在本地创建项目,然后将本地项目通过SSH提交到GitHub仓库中。
msysGit配置SSH访问GitHub
-
检查本机是否有ssh key设置
$ cd ~/.ssh 或cd .ssh
如果没有则提示: No such file or directory
如果有则进入~/.ssh路径下(ls查看当前路径文件,rm * 删除所有文件)
-
1、使用Git Bash生成新的ssh key。
$ cd ~ #保证当前路径在”~”下
$ ssh-keygen -t rsa -C "xxxxxx@yy.com" #建议填写自己真实有效的邮箱地址
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/xxxx_000/.ssh/id_rsa): #不填直接回车
Enter passphrase (empty for no passphrase): #输入密码(可以为空)
Enter same passphrase again: #再次确认密码(可以为空)
Your identification has been saved in /c/Users/xxxx_000/.ssh/id_rsa. #生成的密钥
Your public key has been saved in /c/Users/xxxx_000/.ssh/id_rsa.pub. #生成的公钥
The key fingerprint is:
e3:51:33:xx:xx:xx:xx:xxx:61:28:83:e2:81 xxxxxx@yy.com
*本机已完成ssh key设置,其存放路径为:c:/Users/xxxx_000/.ssh/下。
注释:可生成ssh key自定义名称的密钥,默认id_rsa。
$ ssh-keygen -t rsa -C "邮箱地址" -f ~/.ssh/githug_blog_keys #生成ssh key的名称为githug_blog_keys,慎用容易出现其它异常。
-
添加ssh key到GItHub
3.1 登录GitHub系统;点击右上角账号头像的“▼”→Settings→SSH kyes→Add SSH key。
-
3.2 复制id_rsa.pub的公钥内容。
1) 进入c:/Users/xxxx_000/.ssh/目录下,打开id_rsa.pub文件,全选复制公钥内容。
2) Title自定义,将公钥粘贴到GitHub中Add an SSH key的key输入框,最后“Add Key”。
-
配置账户
$ git config --global user.name “your_username” #设置用户名
$ git config --global user.email “your_registered_github_Email” #设置邮箱地址(建议用注册giuhub的邮箱)
-
测试ssh keys是否设置成功。
$ ssh -T git@github.com
The authenticity of host 'github.com (192.30.252.129)' can't be established.
RSA key fingerprint is 16:27:xx:xx:xx:xx:xx:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes #确认你是否继续联系,输入yes
Warning: Permanently added 'github.com,192.30.252.129' (RSA) to the list of known hosts.
Enter passphrase for key '/c/Users/xxxx_000/.ssh/id_rsa': #生成ssh kye是密码为空则无此项,若设置有密码则有此项且,输入生成ssh key时设置的密码即可。
Hi xxx! You've successfully authenticated, but GitHub does not provide shell access. #出现词句话,说明设置成功。
END
将本地项目通过SSH push到GitHub
-
在github上创建一个示例仓库,如:test ssh key。
-
复制test ssh key的ssh路径。
-
本地创建项目
1) 创建目录
$ mkdir test
$ cd test
2) 初始化
$ git init
3) 创建hello.md文件
$ echo "这是一次测试test ssh key" > hello.md
4) 提交到本地
若出现如上warning提示则重新提交一次即可。
$ git add . #提交当前目录下所以文件
$ git commit -m "add hello.md" #提交记录说明
5) 提交到github
$ git remote add origin ‘粘贴复制test ssh key的ssh路径’ #
$ git push -u origin master
Enter passphrase for key '/c/Users/hgpin_000/.ssh/id_rsa': #ssh key设置密码故此需要输入密码
-
刷新test ssh key仓库,查看hello.md。(完)
END