iOSアプリ開発中に、gitのコミット直前に静的解析・フォーマッター・リンターを実行し、異常があった場合はコミットを中止する。
表にまとめた。
name | description | pros | cons | ref |
---|---|---|---|---|
.git/hooks | .git/hooksフォルダにスクリプトを置く | 第三者のライブラリに依存しない 直接的に細かく設定できる |
スクリプトをgit管理できない※ | Krzysztof Zabłocki - Setting up pre-commit hook for iOS |
komondor | SPMを起点にhooksを設定する Package.swiftに設定を記述する |
コミット前に実行するスクリプトをgit管理できる Package.swiftに設定を集中できる |
Swiftプロジェクト以外には適用できない トラブルシュートが煩雑 |
Git-hooks with Komondor 🐩. for Swift project |
pre-commit | Python製のライブラリをインストールし、yamlに設定を記述する | コミット前に実行する設定をgit管理できる 様々な言語のプロジェクトに適用できる |
・pre-commit ・[Swift] pre-commit でコミット時に SwiftFormat を適用する - Qiita |
※ precommit用のスクリプトはgit管理下の場所に置き、初期設定用のスクリプトに.git/hooks以下にはスクリプトのシンボリックリンクを置くよう書いておけばgit管理できる(参考サイトを参照のこと)