❗️
GitHub Desktopでgit: 'secrets' is not a git commandとエラーが出る
brew
でインストールしている git-secrets
へのシンボリックリンクを、GitHub Desktopのパッケージ内に作成します。
$ ln -s /usr/local/bin/git-secrets /Applications/GitHub\ Desktop.app/Contents/Resources/app/git/libexec/git-core/git-secrets
git-secrets
を導入している環境で、以前も同様のエラーが発生したことがありました。僕の環境では2022年に入り、何かの加減で再発しました。
問題はおそらくGitHub Desktopに同梱されている git
から見た場合、 secrets
というサブコマンドが見当たらない一方で、フックが書かれているためエラーになっていると思います。
.git/hooks/pre-commit
#!/usr/bin/env bash
git secrets --pre_commit_hook -- "$@"
コマンド履歴にあった以前の解決法を試しましたが、今回は効果がありませんでした。ディレクトリの構成か何かが変わったようです。
$ ln -s /usr/local/bin/git-secrets /Applications/GitHub\ Desktop.app/Contents/Resources/app/git/bin/git-secrets
コマンドラインより見やすいため、GitHub Desktopを日常のワークフローに組み込んで使用しており困っていました。GitHub Desktopのパッケージの内容を表示し、ツリーを探索して解決できました。
Discussion