pre-commitユーティリティを使用してこれを行うことができます。no-commit-to-branch
1つ以上のブランチへのコミットを防ぐために使用できるフックが組み込まれています。
セットアップ
基本的なセットアッププロセスは次のとおりです。
- pipまたはbrewを使用してインストールします(https://pre-commit.com/#installの手順)
.pre-commit-config.yaml
プロジェクトのルートにファイルを作成します(最初のドラフトについては以下を参照してください)
- を実行して、フックをgitconfigにインストールします
pre-commit install
。
ブランチを保護するための基本構成
no-commit-to-branch
フックだけを含む基本的な構成は次のとおりです。
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.3.0
hooks:
- id: no-commit-to-branch
args: ['--branch', 'master']
複数のブランチを保護したい場合--branch
は、引数リストに複数の引数を含めることができます。
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.3.0
hooks:
- id: no-commit-to-branch
args: ['--branch', 'master', '--branch', 'staging']
これはすべてやり過ぎではありませんか?
Pre-commitには、他にも多くの組み込みフックと、コミットのクリーンアップと検証の方法を変革するコミュニティ構築フックの大規模なコレクションがあります。私がこれに言及する理由は、このツールは保護されたブランチへのコミットを防ぐにはやり過ぎかもしれませんが、他の多くの機能を備えているため、gitプロジェクトに魅力的で簡単に追加できます。
git commit
、新しいコミットを作成します。早送りは発生しません。現在のブランチがmaster
であるときに通常のコミットを禁止したいようですpre-commit
。その場合は、フックを調べてください。