エラー遭遇経緯

feature ブランチで改修案件の改修をコミットし、 改修リリース時にdevelop ブランチへマージしようとしたら下記エラーが出てコミットできなかった。

    git-secrets: line 116: /mingw32/libexec/git-core/git: Argument list too long

原因調査

このエラーは、Gitリポジトリ内に大量のコミットや変更がある場合にgit-secretsで発生することがわかりました。
エラーメッセージに「Argument list too long」と表示されていましたが、コマンドの引数の数が多すぎてエラーとなっているためこのメッセージが出力されていた様でした。

回避策

下記2通りの回避策がある様でした。

  • コミットを分割する
  • git-secretsの一時的に無効にする # 実行した回避策 「git-secretsの一時的に無効にする」することにしました。 ブランチマージ時に遭遇したので、コミットを分割するのは難しいし、git操作を間違えそうだったので、 コミット内容にシークレット情報が無いこと確認してgit-secretsを無効にしてマージ実行しました。 git コマンドで「–no-verifyオプション」指定するとgit-secretsのスキャンをスキップできます。
git commit --no-verify -m "XXXXX機能改修をマージ"
git push --no-verify origin develop