• Git报错解决


            本篇主要汇总在使用 Git 进行提交和拉取文件时,遇到的问题的解决方案,以便下次查找。

    1 关于使用Git出现“git Failed to connect to 127.0.0.1 port xxxx: Connection refused”的问题解决方案

    1. 问题描述

            在使用 git 拉取、提交代码的时候,会出现 git Failed to connect to 127.0.0.1 port xxxx: Connection refused 的问题。

            原因:无法连接到127.0.0.1: xxx端口: 连接被拒绝。

    2. 解决方案
    方案一:
            思路:查询当前是否有代理,如果有就取消。

    // 首先,查一下当前全局的 http 代理:
    git config --global http.proxy
    // 如果有代理,就取消
    git config --global --unset http.proxy
    
    
    // 再查 https 的代理:
    git config --global https.proxy
    // 同样的,有就取消
    git config --global --unset https.proxy
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    方案二

            上面的方案如果不行的话,再参考这个方案

    // 首先,查一下代理:
    env|grep -i proxy
    // 有就取消
    unset http_proxy
    unset https_proxy
    
    // 再查
    env|grep -i proxy
    // 正常情况下是没有代理了
    // 再次查询一下,如果还有的再取消
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    方案三

    • 修改环境变量
    • 在系统变量中找到了变量http_proxyhttps_proxy,用户变量也可以看看有没有,删除他就可以了。
    • 重启计算机。
    • 再用 git,正常了,再查env|grep -i proxy,代理没有了。

    3. 小结

            代理没有了,就可以正常拉取、提交代码了。

    本部分参考自:关于使用Git出现“git Failed to connect to 127.0.0.1 port xxxx: Connection refused”的问题解决方案

    2 error: src refspec master does not match any

    1. 问题描述

            在将本地项目上传到新建的仓库时,出现了下图的错误:

            问题的内容是:

    • 错误:SRC ReFSPEC 主控器不匹配任何。
    • 错误:未能将某些引用推到 git@github.com:molimi/MyBlog.git

    2. 解决方案

            其实只需要进行下面几步就能把本地项目上传到Github

    1. 在本地创建一个版本库(即文件夹),通过git init把它变成Git仓库;
    2. 把项目复制到这个文件夹里面,再通过git add .把项目添加到仓库;
    3. 再通过 git commit -m "注释内容" 把项目提交到仓库;
    4. 在Github上设置好SSH密钥后,新建一个远程仓库,通过 git remote add origin https://github.com/molimi/MyBlog.git 将本地仓库和远程仓库进行关联;
    5. 最后通过 git push -u origin master 把本地仓库的项目推送到远程仓库(也就是Github)上;(若新建远程仓库的时候自动创建了README文件会报错,解决办法看上面)。

    本部分参考自:error: src refspec master does not match any. 错误的解决办法

    3 fatal: unable to access ‘https://XXX/’: OpenSSL SSL_read: Connection was reset, errno 10054

    1. 问题描述

            之前关联的github库没办法上传(push)了,提示本地库不存在。于是做了

    git init  # 初始化资源库
    git remote-v origin https://http://github.com/我的库  # 将本地库与远程库做关联,
    git pull      # 先将线上的资源拉取下来。
    
    • 1
    • 2
    • 3

            问题出在了git pull的时候,提示错误

    fatal: unable to access 'http://github.com/我的库/': OpenSSL SSL_read: Connection was reset, errno 10054
    
    • 1

            报错原因:

    • 字面意思:服务器的SSL证书灭有经过第三方机构的签署。
    • 网上信息也有的说可能是网络不稳定,连接超时导致。

    2. 解决方案
            修改设置,解除SSL验证。打开 命令行工具, 输入:

    git config --global http.sslVerify "false"
    git config --global https.sslVerify "false"
    
    • 1
    • 2

            真实原因是DNS被污染,国内ping到的github.com可能是被篡改过的。自己修改hosts把github的正确IP加进去就可以了。

    4 remote: error: File:1f6cc8452313 157.10 MB, exceeds 100.00 MB

    1. 问题描述

            根据报错原因提示 Gitee免费用户单个文件最大100M,因此只能上传小于100M文件

    (1) 查看大文件名称

    $ git rev-list --objects --all | grep 9fc69e9816e94fb5bde1f86b31581d7ec12ede3b
    9fc69e9816e94fb5bde1f86b31581d7ec12ede3b 2023/项目实战/NotPush/pytorch_resnet50.pth
    
    • 1
    • 2

            查出来了原来是2023/项目实战/NotPush/pytorch_resnet50.pth这个文件大于100M了。

            当然,你也可以执行下列代码:,查出历史提交的最大文件。

    $ git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')"
    
    • 1

    2. 解决方案

    (1) 在提交中删除该文件

    git filter-branch --force --index-filter  "git rm --cached --ignore-unmatch 2023\\项目实战\\NotPush\\pytorch_resnet50.pth"  --prune-empty --tag-name-filter cat -- --all
    
    • 1
    • 若改行代码报错:Cannot rewrite branches: You have unstaged changes
    • 解决方案:先执行:git stash,再执行一遍该命令即可。

    (2) 重新提交

            以强制覆盖的方式推送你的repo, 命令如下:

    git push origin master --force
    
    • 1

    (3) 清理和回收空间

            虽然上面我们已经删除了文件, 但是我们的repo里面仍然保留了这些objects, 等待垃圾回收(GC), 所以我们要用命令彻底清除它, 并收回空间,命令如下:

    rm -rf .git/refs/original/
     
    git reflog expire --expire=now --all
     
    git gc --prune=now      # 执行命令 清楚本地缓存刷新
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    Qt代码如何使用QPointer替换普通指针,让代码更舒服?
    【文档智能】:GeoLayoutLM:一种用于视觉信息提取(VIE)的预训练模型
    几乎涵盖了近半年90%的Java面试题,可以肝起来了
    爬虫 | 理解BeautifulSoup的定位方法
    python 连接hbase的几种方式
    EasyExcel listener无法通过Autowired注入xxMapper
    算法刷题——爬楼梯
    【算法训练-排序算法 三】【排序应用】合并区间
    JMeter集结点的使用场景以及如何使用?
    餐饮行业软文怎么写吸引人?怎么打动人心
  • 原文地址:https://blog.csdn.net/xq151750111/article/details/133979844