T1.使用git
命令验证是否和GitHub
连接成功,即SSH管不管用哈!
ssh -T git@github.com
在使用ssh加公钥认证时会输入 ssh -T Github.com,认证成功后会输出如下Log。
“but GitHub does not provide shell access ”这句话的意思是,GitHub不提供shell(ssh)访问/接入权限。
ssh -T选项的意思为,不分配伪终端。
当你在使用ssh协议连接到自己或者其他服务器时,本地终端会显示命令提示符,你可以在上面操作输入命令ls等。
结合上面几点,这句话的意思即为你无法使用ssh协议直接登录github,在github服务器上建立一个伪终端,并进行操作。
所以,这句提示并不是一个错误,而是github输出的一句提示语。
同样你可以在本地使用ssh协议进行git相关操作,并提交到github,没有任何影响。
希望能解决你的疑问。
解决问题
这种方式比较简单粗暴,直接将GitHub
的ssh key
删除掉,然后重新生成一份新的。
T2.Remote远程仓储库的链接
一.当推送到服务器时首先要添加远程地址的
:::warning
报错显示:remote origin already exists.
:::
二.查看本地添加了哪些远程地址
三.删除本地指定的远程地址
T3:更新Windows的git凭证管理器
报错截图
更新Windows的git凭证管理器
点击下载安装 GCMW-1.14.0.exe
T4:远程仓库与本地不一致导致的冲突
报错截图:
分析原因:
我做了哪些尝试:
git init 初始化本地仓库
git remote add origin XXX 添加远程仓库地址
如果你在这之后就执行
git add -A,
git commit -m “ “
git push origin master,那么就会出现这个问题(被拒绝),所以在remote add后不要着急git add,一定要git pull origin master,出现这个原因
是因为你在远程仓库创建的仓库有ReadMe文件,而本地没有,造成本地和远程的不同步
那么有两种方案可以解决:
one :
本地没有ReadMe文件,那么就在本地生成一个:
git pull —rebase origin master 本地生成ReadMe文件
git push origin master
two:
那我就强制上传覆盖远程文件,
git push -f origin master
(这个命令在团队开发的时候最好不要用,否则可能会有生命危险)
T5:README.md惹的祸
报错
—-failed to push some refs to https://github.com/guyibang/TEST2.git的错
解决方案:
这里有个坑需要注意一下,就是在上面第七步创建远程仓库的时候,如果你勾选了Initialize this repository with a README(就是创建仓库的时候自动给你创建一个README文件),那么到了第九步你将本地仓库内容推送到远程仓库的时候就会报一个failed to push some refs to https://github.com/guyibang/TEST2.git的错。
这是由于你新创建的那个仓库里面的README文件不在本地仓库目录中,这时我们可以通过以下命令先将内容合并以下:
$ git pull —rebase origin master
这时你再push就能成功了。
总结:其实只需要进行下面几步就能把本地项目上传到Github
1、在本地创建一个版本库(即文件夹),通过git init把它变成Git仓库;
2、把项目复制到这个文件夹里面,再通过git add .把项目添加到仓库;
3、再通过git commit -m “注释内容”把项目提交到仓库;
4、在Github上设置好SSH密钥后,新建一个远程仓库,通过git remote add origin https://github.com/guyibang/TEST2.git将本地仓库和远程仓库进行关联;
5、最后通过git push -u origin master把本地仓库的项目推送到远程仓库(也就是Github)上;(若新建远程仓库的时候自动创建了README文件会报错,解决办法看上面)。
T6.关于Gitee上传仓储库失败
报错截图
如下报错是因为
做出如下尝试:
git pull gitee master --allow-unrelated-historis