一、执行命令生成秘钥:
ssh-keygen -t rsa -C “邮箱”
执行命令后需要进行3次或4次确认,回车即可,有y/n即填y。在指定目录会生成id_rsa和id_rsa.pub文件
二、配置ssh key:
把id_rsa.pub里面的内容填进key里面
注意:会发现配置了拉代码还是没有权限,接下来重要:
找到git安装目录下的etc\ssh ssh_config文件,例如D:\software\Git\etc\ssh ssh_config文件,在文件结尾写入下面代码:
Host *
IdentityFile ~/.ssh/id_rsa # 秘钥的位置
HostkeyAlgorithms +ssh-rsa # 使 openssh 支持 rsa 算法
PubkeyAcceptedAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
三、解决 fatal: Not a git repository (or any of the parent directories): .git 问题
$ git init
四、git 远程仓库两种协议拉取代码
(一)、ssh协议连接github
第一步,查看当前git的远程仓库版本:
$ git remote -v
此时若什么都没有显示说明,git无远程仓库。
第二步,添加ssh协议的远程仓库:
$ git remote add origin git@github.com:unlimitbladeworks/Data-Struts-Learning.git
再次查看:
$ git remote -v
origin git@github.com:unlimitbladeworks/Data-Struts-Learning.git (fetch)
origin git@github.com:unlimitbladeworks/Data-Struts-Learning.git (push)
好处是每次提交代码时,不需要重复来回输入用户名和密码
(二)、切换成 https协议连接github
依然是先查看当前远程仓库使用的那种协议连接:
$ git remote -v
origin git@github.com:unlimitbladeworks/Data-Struts-Learning.git (fetch)
origin git@github.com:unlimitbladeworks/Data-Struts-Learning.git (push)
移除掉远程仓库的配置:
$ git remote rm origin
重新添加新的远程仓库,以https的形式:
git remote add origin https://github.com/unlimitbladeworks/Data-Struts-Learning.git
再次查看:
$ git remote -v
origin https://github.com/unlimitbladeworks/Data-Struts-Learning.git (fetch)
origin https://github.com/unlimitbladeworks/Data-Struts-Learning.git (push)
https的地址其实就是github上项目对应的地址,如下图:
参考:
解决 fatal: Not a git repository (or any of the parent directories): .git 问题_枫_feng的博客-CSDN博客
【git 端口拒绝解决方案】ssh: connect to host github.com port 22: Connection refused_12193282的技术博客_51CTO博客