11

これは私の git lfs 管理ファイルのリストです

$ git lfs ls-files

b1d5dd29dd - file1.zip
27d3073f43 - file2.zip
fb4e699c05 * file3.zip

あるファイルの横にアスタリスク/スター (*) が付いているのに、他のファイルの横にダッシュ (-) が付いているのはなぜですか?

git lfs wiki は、(*) が期待されていることを示しているようです。

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

git lfs statusすべてクリアを示します (コミット/プッシュ/ステージングされるものは何もありません)。

4

3 に答える 3

9

これはls-files のマニュアル ページに記載されていなかったので、ソース コードを調べて答えを見つけました

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

    return "-"
}

* おそらく、ディスク上のファイルがリポジトリまたはインデックス内のファイルと同じサイズであることを意味しますWrappedPointer.Sizeこのコミットで追加されましたが、説明されていません。いずれにせよ、コンテンツは変更できますがサイズは変更できないため、不十分なテストのように思えます。

コード パスはテストされないことに注意し-ください。テストやドキュメントが不足していることを彼らに知らせたいと思うかもしれません。

于 2016-04-12T23:00:44.253 に答える
1

git と同じように、「-」は作業ディレクトリでファイルが削除されたことを示します。「-」が付いた 2 つのファイルは、実際に誤って削除されたものです。それらを復元すると、「*」が元に戻りました。

私を失望させたのは、それgit lfs statusが何も報告しなかったことですが、私はそれを間違って解釈していると思います.

于 2016-04-12T22:48:53.310 に答える