Skip to main content

ルールのトラブルシューティング

リポジトリに投稿するときに、ルールセットのトラブルシューティングを行う方法について学習します。

この機能を使用できるユーザーについて

ルールセットは、GitHub Free と GitHub Free の Organization のパブリック リポジトリ、GitHub Pro、GitHub Team、GitHub Enterprise Cloud のパブリックとプライベートのリポジトリで利用できます。 詳しくは、「GitHub のプラン」をご覧ください。

プッシュ ルールセットは、内部リポジトリとプライベート リポジトリの GitHub Team プランと、プッシュ ルールセットが有効になっているリポジトリのフォークで使用できます。

ルールセットのトラブルシューティング

リポジトリでアクションを実行できず、その理由を知りたい場合は、使用しているブランチまたはタグを対象とするアクティブなルールセットを表示できます。 詳しくは、「リポジトリのルールセットの管理」をご覧ください。

アクティブなルールによっては、コミットをリモート ブランチにプッシュするには、コミット履歴をローカルで編集する必要がある場合があります。 たとえば、ブランチでコミットに署名が必要な場合は、署名設定を更新してから、ローカル ブランチで対話型のリベースを使って、署名されたコミットで Git 履歴を書き換えることができます。 詳細については、「ルールセットで使用できるルール」および「コマンドラインで Git リベースを使う」を参照してください。

ブランチまたはタグがコミットのメタデータを制限するルールの対象になっている場合、コミットのメタデータの一部が特定のパターンと一致しない場合、コミットは拒否される可能性があります。 たとえば、コミット メッセージの先頭に Issue 番号を追加したり、リポジトリにプッシュしようとしている新しいブランチまたはタグの名前を変更したりする必要がある場合があります。 コミットが拒否された場合は、関連するメタデータが一致する必要があるパターンを示すメッセージが表示されます。 署名されたコミットと同様に、リベースを実行してコミットをスカッシュするか、各コミットを個別に書き換える必要がある場合があります。 詳しくは、「ルールセットで使用できるルール」をご覧ください。

プッシュ ルールセットを利用する場合、1 回のプッシュにつき最大 1,000 件の参照更新を実行できます。 プッシュがこの制限を超えると、拒否されます。 詳しくは、「リポジトリのルールセットの作成」をご覧ください。