一. SSL证书验证问题

1.如果是自用的仓库能保证安全性的:

直接上最快捷的解决方案:
    使用git不验证SSL方法:git config --global http.sslVerify false
    因为是修改的全局变量,用完记得:git config --global http.sslVerify true
    以免下次遇到不安全的仓库没验证SSL证书

-------------------------------------------bibilailai-ing---------------------------------------------------------------

笔者今天正打算将gitee的几个仓库搬迁到github,进军全球市场!(✧◡✧)(bushi)

    刚第一步clone 直接中道崩殂,遇到fatal:SSL certificate problem: unable to get local issuer certificate
    一查,SSL证书验证不了,啥?  当时用的是手机流量,想着会不会是github要加速,就开了点magic,哦,git说:敢开就敢给time out  我:嗯??失灵了     然后uu加速器-学术加速-启动!----屁用没有,甚至都没github         

总之,历经几小时艰险地一番搜索,还是使用了原方案(눈‸눈)

浅浅讲一下解决问题时搜索到的几个方案:

1.用gitee镜像github(可行,但不长久,因为不知道哪天就不给你免费镜像了,想冲也ok)

2.SSH连接替代Https连接(理论上可行,但对ssh理论与操作不了解,笔者还没试过,( ̄▽ ̄)~*)

3.直接在github网页上传仓库文件(OK的,试过了,但是大于100m就nonono咯)

4.头病医头:搞到github的SSL证书:解决 Git 无法推送到 GitHub 的问题:SSL 连接错误-百度开发者中心 (baidu.com)和Git 如何解决从GitHub克隆仓库时出现的SSL证书自签名问题|极客笔记 (deepinout.com)

哦,还有,可以用校园网,带宽高,硬挤能直接冲上github(有时),和大概率不出现验证SSL证书问题

---------------------------------------------------------------------------------------------------------------------------

2.方法原理:

    Git默认会验证SSL证书的有效性,以确保安全连接。当连接的远程仓库使用了无效的证书时,Git会抛出证书验证失败的错误信息,阻止我们继续操作。为了忽略证书验证错误,我们可以在使用Git命令之前设置环境变量GIT_SSL_NO_VERIFY=true,告诉Git不要验证SSL证书。然而,这种方法需要在每次使用Git命令之前都设置一次环境变量,比较繁琐。(意思就是每个仓库每次需要网络的地方如init一次,push的时候也要一次,中add,commit都是在本地做的不需要网络)
为了简化操作,我们可以在Git配置文件中的http.sslVerify选项中设置为false,来永久的全局的忽略SSL证书验证。可以使用以下命令进行设置:

git config --global http.sslVerify false

    这个命令会将http.sslVerify选项配置为false,即不验证SSL证书。使用此配置后,我们可以在使用Git命令时不再设置环境变量GIT_SSL_NO_VERIFY=true,而是直接进行操作。
同时,记得这个:

  • http.sslVerify:该属性用于指定是否验证SSL证书,默认值为true,表示验证证书。

所以记得:

git config --global http.sslVerify true

    虽然设置http.sslVerify选项为false可以方便地忽略SSL证书验证,但同时也降低了安全性。因此,在真实环境中,特别是与重要代码或敏感信息相关的仓库中,我们不推荐关闭SSL证书验证。只有在特殊情况下,比如使用了自签名证书或其他问题导致的证书无效,才考虑设置http.sslVerify选项为false。

此外,以上配置是全局配置,会应用于所有的Git操作,因此请谨慎使用。如果需要针对某个特定的仓库或操作进行设置,可以不使用--global参数,并在对应的仓库目录中执行配置命令。

(以上原理部分内容查重率80%,( ̄︶ ̄)↗引用自:Git SSL 无需设置环境变量 GIT_SSL_NO_VERIFY=true|极客教程 (geek-docs.com))

二.上传文件太大问题

   好事多磨,刚能见到进度条在跳,结果到100多MB就又报错啦!(ó﹏ò。)
小乌龟:fatal: the remote end hung up unexpectedly Everything up-to-date

一查说,要么是缓存不够,要么是网络不行,要么墙的原因,我遇到的是缓存不够,这次文件共600多MB。


缓存不够解决方法:

    修改提交缓存大小为500M,或者更大的数字

git config --global http.postBuffer 524288000

如果还是不够,那加一倍:

git config --global http.postBuffer 1048576000

或者在克隆/创建版本库生成的 .git目录下面修改生成的config文件增加如下:

[http]  
postBuffer = 524288000

克隆/创建版本库生成的 .git目录就是

config文件是

网络不行及墙的原因:

git 推送出现 "fatal: The remote end hung up unexpectedly" 解决方案-CSDN博客

 

o( ̄▽ ̄)d,这季节哪有图啊,都是现截的

更多推荐