我需要捆绑一个git回购,我们一直在使用git-lfs,但遇到了一个问题。
它会很好地捆绑在一起,但是当我克隆它时,会发生这个错误。
下载./Dll/dootNetZip.dll (458 KB)错误下载对象:./Dll/Dll/Dll (7dd20a2):污点错误:错误下载./Dll的/Dll/Dll (7dd20a2291b05323bba04be4ae656d7635ae5e68a5a6fa2b9f86e27841846a31):批处理请求:缺少协议:“C:/.bundleName.bundle.git/info/lfs” 登录到C:/.../.git\lfs\logs\20180831T093319.3979074.log的错误使用
git lfs logs last查看日志。错误:外部过滤器'git-lfs过滤器-进程‘失败致命:../Dll的/Dll/dootnetZip.dll:污点过滤器lfs失败警告:克隆成功,但签出失败。您可以使用“git状态”检查签出的内容,并使用“git签出-f头”重试签出。
我似乎找不到任何关于lfs应该如何使用git包的文档。我真正需要的lfs文件是将最新版本存储在包中,但似乎也找不出它在哪里。
发布于 2021-01-25 11:41:19
在Ubuntu-20.04.1-LTS中得到了同样的错误,它仍然带有一个旧的git版本2.9。
在github.com/git-lfs中提到了错误,修补程序在git 2.10或更高版本中(此时最新版本为2.13.2),要安装这些步骤,应遵循以下步骤(另请参阅维基):
sudo apt install curl
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
git lfs install
git clone git@bitbucket.org:project/repo.git --recursive
cd repo/
git lfs install
git checkout some_branch在那之后,错误消失了。
发布于 2021-11-20 15:38:17
我相信git bundle不受git-lfs的支持。然而,使用最新版本的git-lfs,您可以使用本地“裸”类型的git repos,而不是基于web的回购管理器(如GitHub或GitLab )。
要创建GitHub的“包”,包括其来自GitHub的lfs数据,可以使用本地裸回购:
首先,从GitHub克隆回购并获取所有内容:
git clone https://github.com/some-user/lfs-repo
cd lfs-repo
git fetch --all
git fetch --tags
git lfs install
git lfs fetch --all然后创建一个新的裸回购:
cd ..
mkdir bare-repo
cd bare-repo
git init --bare然后将新的裸回购作为遥控器添加到您的克隆回购中,并将所有内容推送到它:
cd ../lfs-repo
git remote add bare file://$(pwd)/../bare-repo
git push --all bare
git push --tags bare
git lfs push --all bare现在您已经拥有了bare-repo中的所有数据(包括lfs数据)。你现在可以拉链了:
cd ..
tar -czvf bundle.tar.gz bare-repo如果您想从"bundle“中检索数据,只需将文件复制到所需的主机,提取它并使用file:// URL从它中克隆。
https://stackoverflow.com/questions/52111702
复制相似问题