Skip to main content

GitHub Desktop での Git フックの操作

シェル環境で Git フックを実行し、GitHub Desktop から直接コミット フックをバイパスできます。

GitHub Desktop の Git フックについて

Git フックは、コミット、プッシュ、マージの前後など、Git ワークフロー内の特定のポイントで自動的に実行されるスクリプトです。 これらは、コード品質標準の適用、テストの実行、その他の自動化されたタスクの実行に使用できます。

GitHub Desktop は、設定されたシェル環境で Git フックを実行します。 フックは、コマンド ラインから Git を実行する場合と同じ環境変数とツールにアクセスできます。 つまり、バージョン マネージャー ( nvmrbenvなど) によってインストールされたツールに依存するフックや、シェル構成ファイル ( .bash_profile.zshrcなど) に依存するフックは正しく機能します。

フック出力はGitHub Desktop UI にリアルタイムで表示され、ターミナルの色と書式設定が保持されるため、フックからの出力を簡単に読み取ってデバッグできます。

コミットフックをバイパスする

コミット前フックまたは commit-msg フックを実行せずにコミットする場合は、GitHub Desktop から直接バイパスできます。 これは、コマンド ラインで git commit --no-verify を使用することと同じです。

コミットを行う前、またはフックが失敗した後に、フックを先取りしてバイパスすることができます。

コミット前にフックをバイパスする

  1. [変更] タブで、コミット メッセージを書き込みます。
  2. コミット メッセージ フィールドの横にある をクリックします。
  3.        **コミットフックをバイパス**を選択します。
    
  4.        **ブランチにコミット**をクリックします。
    

失敗したフックの回避

コミット フックが失敗した場合、GitHub Desktop はフックの出力を表示し、失敗したフックをバイパスしてコミットを続行するオプションを提供します。

  1. GitHub Desktop によって表示されるフック出力を確認します。
  2. 失敗してもコミットを続行するには、[ コミット] をクリックします。

警告

コミット フックをバイパスすると、チームが依存する可能性のある品質と安全性のチェックがオーバーライドされます。 影響を理解している場合にのみ、フックをバイパスします。

詳細については、次を参照してください。

  •         [AUTOTITLE](/desktop/making-changes-in-a-branch/committing-and-reviewing-changes-to-your-project-in-github-desktop)
    
  •         [Git フックのドキュメント](https://git-scm.com/docs/githooks)は公式 Git リファレンスにあります