当我使用jfrog rt glc时,它想删除工件中gitlfs存储库中的所有工件。 但是我在本地git仓库中仍然只有一个文件!
E:\ test-scripts> jfrog rt glc
[信息]从Artifactory存储库lfs-local中搜索文件…
[信息]从Git引用中收集要保留的文件,这些引用与模式refs / remotes / *匹配...
[信息]找到了0个文件,需要清理3个文件
4ee3d767d9126308d6bcf7b7290e85614a83fe51a9d84e765b9b7f4359f79fce
118feab626439e11e6ef3d3d12b3d297c0cccffaf2e34e5b5be7e4276c28678c
cbeffb41253da58f8924423f22a9bd53802633925664d68c46e6bfffd506a33d
您确定要删除上述文件吗? (y / n):E:\ test-scripts> git lfs ls文件
4ee3d767d9 * xmlstarlet-1.6.1-win32.zip
jfrog rt glc找不到正确的目录!
git lfs将工件放置在lfs \ objects *目录中,而不是refs / remotes / *
命令jfrog rt glc --refs ='。git \ lfs \ objects *'给出相同的输出。
dir .git \ lfs \ objects * / s E:\ test-scripts.git \ lfs \ objects \ 4e \ e3 4ee3d767d9126308d6bcf7b7290e85614a83fe51a9d84e765b9b7f4359f79fce
'。git \ lfs \ objects *'中仍然有1个文件
有人对此有经验吗?
答案 0 :(得分:1)
jfrog rt glc找不到正确的目录!
git lfs将工件放置在lfs \ objects *目录中,而不是refs / remotes / *
这不是命令的工作方式。它不会在.git/lfs/objects
或 .git/refs/remotes
中寻找对象。这是它的作用:
.lfsconfig
中查找远程LFS服务器URL(这大概是CLI连接到的Artifactory服务器上的LFS存储库)。它将下载该存储库中包含的对象哈希列表。refs/remotes/*
的所有Git引用的头部(因此,它将搜索所有远程跟踪分支)以查找LFS对象。这并不意味着它在该目录中搜索对象。 .git/refs/remotes
目录包含Git分支的名称,并且该命令搜索这些分支。运行git lfs ls-files
时,它将搜索当前的本地分支。如果您要从该命令中找回rt glc
要删除的对象,那是因为您的本地分支不是当前分支,或者您没有将更改推到上游。
如果您希望rt glc
保留在远程跟踪和本地分支中找到的工件,则可以传递选项--refs=refs/remotes/*,refs/heads/*
答案 1 :(得分:0)
我发现了“不匹配”
jfrog rt glc命令“默认”与Unix目录符号(/)匹配的参考模式
因此,对于Windows,您必须使用--refs = refs \ remotes *变量来获取正确的信息(\)
jfrog.exe = jfrog版本1.18.0