问题一、 对远端仓库没有操作权限
ERROR: Repository not found.
fatal: Could not read from remote repository.
定位思路
1.检查git代码仓的公钥是否存在
在github上仓库的公钥有存在,那问题就转到了我本地。
2.检查本地秘钥是否存在
待合入代码仓库的秘钥在本地也是存在的,那么问题进一步转到自己git客户端。
3.git秘钥查看
ssh-agent bash进入认证代理模式
该模式下检查是没有添加秘钥,然后测试git仓库权限,发现只有Daily_Record仓库有权限,而我要合入代码的ShellTools是没有访问权限的(没有添加仓库秘钥到代理端)。问题定位是没有添加ShellTools仓库秘钥导致的。
4. 添加仓库秘钥(ssh-add ~/.ssh/id_rsa_github)
5.秘钥检查,连通性测试
目标代码仓ShellTools仓库已经有访问权限,开始合入代码。
6. git push
代码合入到ShellTools成功
简单总结一下
- 远端公钥,本地私钥文件检查是否存在。
- 远程仓库权限检查
ssh -T [email protected] - 启动ssh认证代理,添加秘钥进行认证
ssh-agent bash - 添加秘钥(临时生效,退出ssh-agent后失效)
ssh-add ~/.ssh/id_rsa_github - 查看添加的秘钥
ssh-add -l - 测试远端仓库权限
ssh -T [email protected]