まるコットでメモ的な何か

サイズが100MB以上のファイルがある場合にGit Commitさせない

ファイルサイズが大きいゲームプロジェクト開発においてGit LFSのファイルサイズ制限対策でCommit時に弾きたいため。

ChatGPTで適当に生成して動作確認済み。

vi .git/hooks/pre-commit

#!/bin/sh
# Git LFS limit: 100MB
LIMIT=$((100 * 1024 * 1024))

# ステージされたファイルを列挙
files=$(git diff --cached --name-only --diff-filter=ACM)

for f in $files; do
  # 実ファイルが存在するか
  [ -f "$f" ] || continue

  size=$(wc -c < "$f")
  if [ "$size" -gt "$LIMIT" ]; then
    mb=$(awk "BEGIN { printf \"%.1f\", $size/1024/1024 }")
    echo "Error: '$f' is ${mb}MB, exceeds the 100MB Git LFS limit."
    exit 1
  fi
done

exit 0

chmod +x .git/hooks/pre-commit

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です