git lfs ls-files:星号(*)与短跑( - )

cha*_*ows 6 git git-lfs

这是我的git lfs托管文件列表

$ git lfs ls-files

b1d5dd29dd - file1.zip
27d3073f43 - file2.zip
fb4e699c05 * file3.zip
Run Code Online (Sandbox Code Playgroud)

为什么一个文件旁边有一个星号/星号(*),而其他文件旁边有一个短划线( - )?

git lfs wiki似乎表明(*)是预期的.

https://github.com/github/git-lfs/wiki/Tutorial

git lfs status 显示全部清除(没有任何提交/推送/暂存).

Sch*_*ern 5

这在ls-files手册页中没有记录,因此我挖掘了源代码以找到答案.

func lsFilesMarker(p *lfs.WrappedPointer) string {
    info, err := os.Stat(p.Name)
    if err == nil && info.Size() == p.Size {
        return "*"
    }

    return "-"
}
Run Code Online (Sandbox Code Playgroud)

* 可能意味着磁盘上的文件大小与存储库或索引中的文件大小相同,取决​​于其中的内容WrappedPointer.Size.它已添加到此提交中,但未解释.无论哪种方式,它似乎是一个糟糕的测试,因为内容可以改变,但不是大小.

请注意,-代码路径从来没有测试.您可能希望让他们知道缺少测试和文档.