0


Linux服务器使用git clone命令时报错的解决方案

在往GitHub上上传项目时,使用git clone xxxxx.git时候报错:

“gnutls_handshake() failed: the TLS connection was non-properly terminated”

由系统的 git 默认使用的 libcurl4-gnutls-dev 造成,可以使用openssl解决.
但是这个过程也很多坑。

依次执行:

sudoapt-get update
sudoapt-getinstall build-essential fakeroot dpkg-dev libcurl4-openssl-dev
sudoapt-get build-dep git#  报错了mkdir git-openssl &&cd git-openssl
sudoapt-getsourcegit

执行到第三句

sudo apt-get build-dep git

又报错:

you must put some 'source' URIs in your sources.list

在这里插入图片描述
因为sources.list中,默认将deb-src注释掉了,我们需要打开它然后取消注释

sudovim /etc/apt/sources.list

打开如下图,将全部 deb-src行取消注释。这些都是下载源的网址。下图中还没有完全取消注释。
在这里插入图片描述
然后依次执行下列句子让之前的修改生效:

sudoapt-get update

sudoapt-get upgrade

sudoapt-getinstall build-essential

执行第二句时,会弹出选择,选保持当前的,输入N:
在这里插入图片描述
再次输入

sudo apt-get build-dep git

时不会报错了:
在这里插入图片描述
回到一开始,开始执行后面的

mkdir git-openssl &&cd git-openssl
sudoapt-getsourcegit

要是再报错就按照这个帖子

但是也不管用,后面也会有报错,文件打不开什么的,第二天再次使用

git clone

时就没报错了。

感觉最重要的是把

source.list

修改,里面都是下载源,被注释了就会影响服务器连接Git。

另外后面往GitHub上发布项目时,在执行

git push origin master

时如果报错的话,用git status查看,是否有下面报错:

Your branch is ahead of 'origin/main' by 1 commit.
  (use "git push" to publish your local commits)

意思是本地仓库有一个提交,比远程仓库要先进一个

commit

. 需要先把这个

commit

提交到远程仓库。

我直接:

git push origin main

即把项目上传到 main 分支中。

然后刷新GitHub网页,可以看到项目上传成功。

标签: git linux 服务器

本文转载自: https://blog.csdn.net/mrqiuwen/article/details/127998207
版权归原作者 鱼在树上飞 所有, 如有侵权,请联系我们删除。

“Linux服务器使用git clone命令时报错的解决方案”的评论:

还没有评论