新手在使用git的时候,难免会遇到一些不知所然的错误,在此文档,会收集常见的错误,并提供解决方法。欢迎大家进行检索,也可以一起进行补充。
1. git clone SSH连接配置问题
执行代码: git clone ...
错误提示: Warning: Permanently added the RSA host key for IP address '192.30.252.129' to the list of known hosts. Permission denied (publickey). fatal: Could not read from remote repository.
解决方法: 这种一般是SSH链接配置没有设置好。可以参考Hunter博客的《Github之SSH连接配置》(竟然链接失效了啊!!这种引用果然不能太依赖啊,还是得自己复制/整理一份备用啊啊啊byceline20230613),里面的图文很详细,可以直接按照步骤进行设置。
既然文章崩了, 那就此处简略下下怎么设置SSH吧。
#1. 设置用户名(可以用你github账号用户名)
git config --global user.name '你的用户名'
#2. 设置邮箱 (可以用你github账号邮箱)
git config --global user.name 'xxxx@163.com'
#3. 查看配置项(可以检查下前面配置号的用户名和邮箱)
git config --list
#4. 生成ssh密钥文件
ssh-keygen -t rsa -C "xxxx@163.com"
# (1)期间会让你确认密钥文件生成在哪里?(直接回车就是默认路径C:\Users\用户名\.ssh)
# (2)会让你输入密码(这个密码是每次链接github需要输入的密码,可以直接回车,表示不设置密码)
-
登录github,按照下图流程然后打开SSH keys界面。点击【New SSH】新增一条SSH keys,在信息窗口把id-rsa数据复制进去,保存即可。
1-2. git clone 权限问题
执行代码: git clone git@github.com:celineWong7/celineWong7.github.io.git
错误提示: Please make sure you have the correct access rights and the repository exist
分析解决: 这玩意儿是因为我没有配置SSH,然后又下通过SSH去clone。。。其实在复制仓库的SSH链接时候,github就又给出提示了。解决方法也很简单,去复制HTTPS方式啊!不过这种方式到时候不能push代码。。。
所以如果只是下download代码,就HTTPS方式够用了,如果是要管理自己仓库。。emmm,可能还是需要配置下?
2. 添加远程库后,首次push问题
执行代码: git push -u origin master
错误提示: error: src refspec master does not match any.
error: failed to push some refs to 'git@github.com:hahaha/ftpmanage.git'.
解决方法: 这个错误是提示本地仓库为空,也就是说你还没有添加add
和提交commit
文件,自然就没有什么可以push
的了。
当你再本地电脑上新建一个项目后,想要和远程github repository连接起来并进行后续操作,一般的执行流程如下:
#本地仓库初始化
git init
#添加远程库
git remote add origin git@github.com:celineWong7/chosen-demo.git
#添加本地文件(工作区)到暂存区
git add ./
#将暂存区的文件提交到本地仓库
git commit -m "init"
#此时,再进行push,推送本地仓库到远程库
git push -u origin master
#若在出现`hint: Updates were rejected because the remote contains work ...`错误,一般是需要先进行pull
git pull --rebase origin master
#pull成功后再进行push
git push -u origin master
3. 切换分支失败
执行代码: git checkout branchA
错误提示: error: cannot stat ‘file’: Permission denied
解决方法: 这种错误一般是该分支上的文件被电脑占用(编辑器、浏览器等),无法释放。解决方法是退出各类和分支上文件相关编辑器、浏览器、资源管理器等,再进行切换 .
4. git pull失败
执行代码: git pull
错误提示: git branch --set-upstream-to=origin/<branch> dev
具体如下图:
解决方法: 这种错误一般是git push
时,提示远程代码已被更新过,需要重新拉取下代码。然后我们按照指示进行拉取时git pull
时,发生如上的错误, 原因是没有指定本地dev分支与远程origin/dev分支的链接。依旧根据提示,设置dev和origin/dev的链接即可:
git branch --set-upstream-to=origin/dev dev
详细可以参见廖大大的GIT教程之 多人协作。