这篇笔记的目的是用来记录自己使用Git的过程中遇到的问题.
在我们日常使用Git中总是会出现一些比较常见的错误,本文章就列举一下我见过的一些错误以及有解决方法我会在下面写出来
Force Push 强制推送
Git版本控制系统中的一个重要操作——强制推送(Force Push)。通常情况下,我们在推送修改到远程仓库时使用git push命令,但有时候我们可能遇到需要强制推送的情况。
如果有多名开发人员在合作开发一个分支,并且之前开发人员已经完成更改,把代码push到了远程仓库。
另一名开发人员准备push提交到远程仓库的时候会发现自己无法推送到远程仓库
若开发人员使用了:
1 | $ git push -f |
这样做会直接将本地修改覆盖到远程仓库的对应提交,并且会覆盖远程仓库上的历史记录
那么就很可能出现一个问题,就是前一名开发人员提交的代码会全部消失,如果想避免这个问题,一种理想方法是他先把第一位开发人员的更新从远程仓库pull到本地,再把代码rebase重新整理提交历史一下,再进行push。
除非有绝对的必要无法提交,最好还是不要用它。它会把本地分支的提交覆盖远程推送分支的提交,给协作的同伴带去不少麻烦,即便是上面的解决方案,它也会存在一个时间差,你不可能时刻掌握同伴的工作进展。
若是报错”repository ‘https://github.com/xxx/xxx.git/‘ not found”
这种可能是权限验证错误引起的,可以尝试卸载Git凭证管理器后重装即可解决。
git push 被拒绝
错误提示如下:
1 | $ git@github.com: Permission denied (publickey). |
一般遇到这个错误有两个原因:
ssh-config配置异常 或者是 远程仓库不存在,可以排除解决问题
已经有id_rsa和id_rsa.pub文件的前提下,请检查~/.ssh/config 文件下的配置。
并保证id_rsa文件中的密钥已经上传到githu代码托管服务平台
关于Git上传github网站错误
hexo deploy出现错误
1 | $ Please make sure you have the correct access rights |
出现这个情况很大概率是网络问题,就比如你后台挂了魔法忘记关了,可以尝试取消相关的网络限制,一般关上就解决了.
小结
这是我碰见过的一些问题以及解决方法,可以尝试一下.