git & github -- 曾经遇到的问题的记录

Posted songshuaistudy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git & github -- 曾经遇到的问题的记录相关的知识,希望对你有一定的参考价值。

git github 相信大家都很熟悉,在使用的过程中难免会出现一些问题,更何况我这样的经常换设备以及虚拟机的用户,经常会遇到git的各种问题,下面简单记录一下曾经出现过的问题以及解决的方法,可能部分解决的方法不是很正规,但是不管怎么说在本人的环境下都能回归到正常状态,所以,请不要打击我们小白的学习的劲头^_^。

一、在进行git clone的时候,出现如下所示的问题

1 Cloneing into xxxx...
2 git@github.com: Permission denied (publickey).
3 fatal: Could not read from remote repository.
4 
5 Please make sure you have the correct access rights
6 and the repository exists.

解决方案:

1、使用指令测试一下githubssh是否配置成功, -T 不显示终端,只显示连接成功信息

1 $ ssh -T git@github.com
输出:
1 git@github.com: Permission denied (publickey).

2、配置一下用户名和邮箱

1 $ git config --global user.name "username"
2 $ git config --global user.email "email@example.com"
技术图片

3、此时可以尝试一下git clone指令,本人测试实际效果还是和之前的问题是一致的,所以,继续往下操作

1 $ ssh -v git@github.com

技术图片技术图片

?技术图片技术图片?

找到他尝试的.ssh的路径是这个路劲,然后好奇看了一下这个文件夹下有什么文件

技术图片技术图片?

天啦,里面竟然没有id_rsa和id_rsa.pub文件,在查找一下这个文件,用Everything工具查找一下

技术图片技术图片?

然后将包含id_rsa的这个.ssh的这个文件夹直接替换那个没有id_rsa的文件,然后在测试

技术图片

?技术图片技术图片?

然后再进行clone操作

技术图片技术图片?

完成,之后的git push pull等操作均可以正常运行。

二、git clone出现下面的问题

1 Cloneing into xxxx...
2 sign_and_send_pubkey: signing failed: agent refused operation
3 Permission denied (publickey).
4 fatal: Could not read from remote repository.
5 
6 Please make sure you have the correct access rights
7 and the repository exists.

解决方案:

1、使用指令测试连接

1 $ ssh -T git@github.com
输出:
1 sign_and_send_pubkey: signing failed: agent refused operation
2 
3 Permission denied (publickey).
技术图片

2、设置用户名和邮箱

1 $ git config --global user.name "username"
2 $ git config --global user.email "email@example.com"
技术图片

3、将SSH Key添加到ssh-agent

1 $ ssh-agent -s
输出:
1 SSH_AUTH_SOCK=/tmp/ssh-5JYIIgdzHvTM/agent.34213; export SSH_AUTH_SOCK;
2 SSH_AGENT_PID=34214; export SSH_AGENT_PID;
3 echo Agent pid 34214;

4、使用指令 ssh-add 将专用密钥添加到ssh-agent的高速缓存中,默认路劲

$ ssh-add
输出:
1 Identity added: /home/yourname/.ssh/id_rsa (/home/yourname/.ssh/id_rsa)
技术图片

4、再次测试连接

1 $ ssh -T git@github.com
输出:
1 Hi xxx! Youve successfully authenticated, but GitHub does not provide shell access.
技术图片

5、然后在进行git clone,即可成功,后续操作也没有任何问题。

三、git clone 出现输入密码,并且然后Permission Denied (publickey)问题

技术图片技术图片?

解决方案:

可知先直接使用ssh-add ~/.ssh/id_rsa把专用密钥(private and public keys)添加到 ssh-agent 的高速缓存中

其中 ~/.ssh/id_rsa 的根据个人不同做适当的更改

如果还是不好用,则可以按照下面的步骤继续进行。

1、设置用户名和邮箱

1 $ git config --global user.name "username"
2 $ git config --global user.email "email@example.com"
技术图片

2、创建一个 SSH key

ssh-keygen -t rsa -C "email@example.com"
技术图片

如果之前已经存在ssh key,那么会提示是否进行覆盖,此处输入 y

技术图片技术图片?

3、把专用密钥(private and public keys)添加到 ssh-agent 的高速缓存中

$ ssh-add ~/.ssh/id_rsa
技术图片

然后即可正常进行clone

四、git clone 出现

1 Permission denied (publickey).
2 fatal: The remote end hung up unexpectedly
技术图片

技术图片技术图片?

详看大佬博客解决。电梯直达大佬方案 

五、git bash 使用出现问题:

1 WARNING: terminal is not fully functional
2 3 - (press RETURN)
技术图片

在关闭终端的时候,出现:

技术图片技术图片?

解决方案:

1、创建环境变量,注意大写哦,我就是在没有区分大小写的时候,折腾好久。

技术图片技术图片?

2、在终端选项中设置 终端类型 为 xterm

技术图片技术图片?

六、在 ssh-add 时候出现 Could not open a connection to your authentication agent.

经查,都在说明是以哦那个指令 ssh-agent bash即可解决问题,但是本人并未有效。

解决方案:

在使用上面指令没有效果之后,直接重新生成key,由于本地还有其他的ssh key的原因,此时设置的时候没有使用默认的设置

1 $ ssh-keygen -t rsa -C "songshuai@git.com" # 邮箱使用自己的

技术图片技术图片?

1 $ ssh-add ~/.ssh/id_rsa_song
2 Identity added: /home/ma-sai-ke/.ssh/id_rsa_song (/home/ma-sai-ke/.ssh/id_rsa_song)

持续更新......

以上是关于git & github -- 曾经遇到的问题的记录的主要内容,如果未能解决你的问题,请参考以下文章

工作中,总是会遇到的两个版本控制器SVN&Git

Git&GitHub简介与入手

git & github

Git & GitHub

Git&GitHub 基本使用

Git入门--Git&GitHub&Gitee