Skip to content

Instantly share code, notes, and snippets.

@sahara-ooga
Last active October 10, 2020 15:36
Show Gist options
  • Save sahara-ooga/80495dd1d1e27b3e4b51ccbb02af1875 to your computer and use it in GitHub Desktop.
Save sahara-ooga/80495dd1d1e27b3e4b51ccbb02af1875 to your computer and use it in GitHub Desktop.
Gitのコミット直前に〇〇する

やりたいこと

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管理できる(参考サイトを参照のこと)

参考

SwiftFormatとSwiftLintで綺麗なソースコードを維持する - Qiita

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment