禁用Git LFS远程存储库

52

我正在尝试推送到一个不支持Git LFS的第二个远程仓库。是否有一种使用git config禁用特定远程仓库的Git LFS的方法?


16
解决方法:git push --no-verify将跳过预推钩子(pre-push hook),该钩子会启动Git LFS。 - amiuhle
1
我知道你可以为.git/config中的每个[remote]设置单独的lfsurl。你试过只设置一个没有lfsurl的吗? - danf
1
@danf 如果你没有设置它,它会默认使用相同的服务器。如果你将其设置为空白,你会得到一个“缺少协议:""”错误。 - derobert
1个回答

47

amiuhle提供的解决方法对我来说很有效:

git push --no-verify

它可以防止 git lfs 的 pre-push 钩子尝试上传文件。因此,链接文件被提交,但实际的二进制文件缺失。


1
这对我来说可行,但我很好奇所问的问题:是否有一些我可以通过git config做的事情,使得git pushgit push --no-verify一样工作,这样我就可以使用现成的脚本来推送所有我的仓库。 - Liam
4
我收到了这条消息:“LFS对象缺失。请确保已正确设置LFS或尝试手动执行“git lfs push --all”。”。意思是指LFS(Git Large File Storage)的相关文件丢失,需要进行补救措施,可以尝试重新设置LFS或手动执行命令“git lfs push --all”。 - Avin Shum
3
注意:正如答案中所述,这会禁用(客户端)的pre-push hook,但不会禁用(服务器端)的pre-receive hook。大多数Git服务器(例如GitLab)都实现了这样一个hook来检查丢失的LFS对象,正如@AvinShum所报告的那样。 - Gerrit-K

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接