快速浏览版:
git clone 和 下载zip文件到本地,再上传到linux上解压使用,有区别吗?或者说,当git clone运行不成功时,可以把代码下载zip文件到本地,再上传到linux上解压使用吗?
答案是:这两者下载方式都可,区别在于,git clone方法下载权限、软链接、可执行位全部保持原样;而ZIP下载常常丢失执行权限。
所以,如果能用git clone,第一时间用;但是如果不能,也不用太担心,在linux上解压后,补上执行权限即可(chmod +x)。
详解补充版:
有时候,我们需要一些软件,它没有安装包,不在anaconda中,作者推荐的操作是
bash
git clone https://github.com/xxxxxxx
但奈何,本人在linux上操作这行代码,总是报错,
bash
fatal: unable to access 'https://github.com/yiliao1022/SVGAP/': GnuTLS recv error (-110): The TLS connection was non-properly terminated.
试过网上主流办法👇,但在我这就是没用。。。
bash
1 将使用 https 协议的地址替换为 git 协议
2 清除 Git 全局代理设置
git config --global --unset http.proxy
git config --global --unset https.proxy
那我只能把代码zip文件下载到到本地,再上传到linux上解压使用。
使用过程中遇到了 Permission denied 的问题
bash
sh: 1: xxxxxxxx/pub/MUMMER/delta2maf: Permission denied
这时候只要对应报错的目录文件,加上可执行权限即可:
bash
运行前权限:
-rw-r--r-- 文件是白色
运行可执行权限命令
chmod +x delta2maf
如果文件夹中有多个文件,都需添加可执行权限,用
chmod +x *
运行后权限:
-rwxr-xr-x 文件变成绿色
最后说明,这里的情况还是太个例了。严格意义来说这个软件是由很多perl脚本组成的,直接用这些perl脚本就行,没有整合成一个有软件包的情况。
主流下载软件方法,还是遵循mamba自动下载和依赖的安装包,或者wget make。如果有这些下载方法,一般不建议直接用git clone的方法。
最后的最后,到底用哪种下载方法看作者说明,祝大家跑代码一路通畅。