/git

使用git上遇到的一些问题

使用git遇到的一些问题

一、SSH Key的创建

由于本地Git仓库和github仓库之间的传输是通过SSH加密的,所以我们需要创建SSH Key。我们先在用户主目录下看看有没有.ssh目录,如果有,再看看这个目录下是不是有如下图三个文件:
果有的话,直接跳过如下命令,如果没有的话,打开命令行,输入如下命令:
ssh-keygen -t rsa –C “youremail@example.com
这个时候,有些用户,又会出现一个问题,那就是ssh-keygen 不是内部或外部命令

ssh-keygen 不是内部或外部命令的解决办法

  1. 在你自己的git安装目录下usr/bin目录下的ssh-keygen.exe,复制该路径
  2. 属性-->高级系统设置-->环境变量-->系统变量,找到Path变量,进行编辑,End到最后,输入分号,粘贴复制的ssh-keygen所在的路径,保存;
  3. 在cmd上重新执行命令:
    ssh-keygen -t rsa –C “youremail@example.com” 成功后会看到如下图:

二、github连接超时

检查连接github是否成功
在命令行输入: ssh -T git@github.com
如果出现:You've successfully authenticated,那么连接成功可以使用了;
如果出现:ssh: connect to host github.com port 22: Connection timed out,很遗憾连接超时;

解决方法

首先我们得要找到git的安装目录,找到/etc/ssh/ssh_config文件(如果忘记了自己git的安装目录,我们可以在命令行输入:where git就可以打印出git的安装目录);

然后在ssh_config文件末尾处添加:
Host github.com User git
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443
保存后,命令行重跑 ssh -T git@github.com
出现如下图情况:

输入: yes 即可
出现如下图文字,即表示连接成功

三、Github.com无法访问

在网上查阅了一波,基本都是说修改hosts文件,往后边添加如下代码:
74.125.237.1 dl-ssl.google.com
173.194.127.200 groups.google.com
192.30.252.131 github.com
185.31.16.185 github.global.ssl.fastly.net
74.125.128.95 ajax.googleapis.com
然而,没有啥用,可能我自己电脑的问题吧。晚上回去再看看

晚上回来往hosts添加了这两行代码后再试了试,竟然神奇的可以访问了,你说气人不气人;
192.30.255.112 github.com git
185.31.16.184 github.global.ssl.fastly.net