git clone下来的文件不完整(仓库中部分文件是用Git LFS上传的) ...

打印 上一主题 下一主题

主题 902|帖子 902|积分 2706

为什么有些文件没有下载完整?

  由于github仓库中的有些大文件是使用Git LFS上传的。但是在执行 git clone 时,Git 默认只下载文件的 LFS 指针,而不是大文件的实际内容。这些指针文件是占位符,指向 LFS 服务器上存储的实际文件。
  

    如何解决? 

  1、确保本地安装了 Git LFS:假如本地没有安装 Git LFS,LFS 文件将无法正确下载。使用以下命令检查 Git LFS 是否已安装
  1. git lfs install
复制代码
  1. # 若已经安装lfs,则输出以下内容
  2. Git LFS initialized.
  3. # 没有安装lfs,则输出以下内容
  4. git: 'lfs' is not a git command. See 'git --help'.
  5. The most similar command is
  6.         log
复制代码
2、假如尚未安装,可以使用以下命令安装:
  若为Ubuntu系统
  1. # Ubuntu系统
  2. sudo apt-get install git-lfs
复制代码
  1. # Centos系统,如果使用 yum安装
  2. sudo yum install git-lfs
复制代码
  1. # macOS
  2. brew install git-lfs
复制代码
3、克隆仓库并下载 Git LFS 文件:
  1. # 示例,此处替换为目标仓库地址
  2. git clone https://github.com/user/repo.git
复制代码
克隆仓库后,可以运行以下命令来下载 Git LFS 文件。该命令从 Git LFS 服务器拉取通过 Git LFS 管理的实际大文件,并将这些文件从占位符替换为真实文件。即执行该命令后会下载全部由 LFS 管理的文件,确保大文件下载完整。
  1. git lfs pull
复制代码
4、使用 --recurse-submodules 参数(针对仓库包罗子模块的环境,不包罗则不需执行):
  假如仓库中包罗子模块,并且子模块中的某些文件是通过 Git LFS 管理的,那么在克隆时应该使用 --recurse-submodules 参数:
  1. git clone --recurse-submodules https://github.com/user/repo.git
复制代码
5、手动检查下载是否完整:
  1. git lfs ls-files
复制代码
可以通过该指令手动检查哪些文件是通过 Git LFS 管理的,执行后将列出当前仓库中由 LFS 管理的全部文件。
    总结

  

  • Git 克隆操纵已经成功完成了平凡对象的下载。
  • Git LFS 管理的大文件可能尚未下载,需要通过 git lfs pull
    命令下载完整的 LFS 文件。
  • 确保本地正确安装了 Git LFS,并在克隆后运行相应的命令来拉取大文件。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

络腮胡菲菲

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表