我注意到从本地存储库进行归档时,'git archive'支持LFS,而从远程归档时则不支持。这是我使用的git命令
git archive -o latest.zip HEAD
git archive -o latest.zip HEAD --remote=<remote git repo>
第一个在本地仓库上运行的软件起作用了。第二个没有。存档中仅包含指向LFS文件的指针,而不是实际的LFS文件。我做错了吗?
Git LFS的工作方式是在本地存储库中通常使用过滤器过程设置污垢/清洁过滤器。即使指定了文件使用LFS筛选器,除非配置中具有启用筛选过程的选项,否则该文件将无效。
[可能是在本地系统上安装并配置了Git LFS,而在远程系统上则没有。由于远程系统缺少配置,因此git archive
进程不会调用Git LFS二进制文件。
即使您已经正确设置了配置,如果对象尚未存储在存储库中,也需要某种方式让远程端获取对象。如果是这样,则Git LFS二进制文件将使用它们,但是如果不使用它们,则将需要某种方式来验证您在过程中使用的任何LFS服务器。这将需要Git服务器可以访问的功能凭据,使它可以访问LFS服务器,这可能很棘手。
Git LFS二进制文件通常不适合非交互使用,因为它可以提示输入凭据,因此您可能需要一个自定义过滤器,该过滤器可以更直接地从LFS存储中获取。