Git LFS フルサイズのインポート

Git LFS フルサイズのインポート

Git LFSファイルのフルサイズを取得するには?

次の方法でLFSファイルのリストを取得できますgit lfs ls-files --size

b1d5dd29dd - file1.zip (1.42 GB)
27d3073f43 - file2.zip (120 MB)
cacd6dbfe3 - folder/file3.zip (110.2 MB)
295442cd34 - "folder/(120 MB).zip" (110.2 MB)
680bb2ab19 * test.txt (5 B)

メモ:両方-使用*

以下を使用して、測定基準のみをインポートするようにフィルタリングできますgit lfs ls-files --size | awk -F " " '{ print $(NF-1) $NF }' | tr -d '()'

1.42GB
120MB
110.2MB
110.2MB
5B

これが1000(GB)または1024(GiB)の電力であるかどうかわからないため、より大きな電力(1.00GB = 1024MB)を想定できます。

合計1.88GiB((1.42) * 1024^3 + (120 + 110.2 + 110.2) * 1024^2 + (5) * 1 = 1881648665.48 bytes = 1.88 GiB)を取得するにはどうすればよいですか?

Git対応する項目を解析せずに全体のサイズを取得する別の方法lsも許可されています。一般的なBashとGNUツールを使用することをお勧めします。

答え1

人間が読めるサイズの代わりにバイトサイズを印刷するための特定のオプションが見つかりませんが、この--debugオプションは効果があるようです。ただし、出力は--debugまったく異なり、マニュアルページによると、「正確な形式はいつでも変更される可能性があります」ので、これを念頭に置いてください。

ただし、バイト単位のサイズについては、次のようにすることができます。

git lfs ls-files --debug | awk -F: '$1~/size/{t+=$2}END{printf "Total is: %dGB\n", t/1024/1024/1024}'

ここで、awkは変数のすべての「サイズ」値を合計し、すべてのt行を読み取った後にt / 1024 / 1024 / 1024またはGBの値を印刷し、TBに別の/ 1024を追加するか、またはMB 1に対して削除してしばらく待つします。

(「メトリック」データサイズの存在を認識しないため、「GiB」、「MiB」など)

関連情報