エラー遭遇経緯
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