您可以使用pre-commit实用程序执行此操作。它具有一个内置的no-commit-to-branch
挂钩,可用于防止提交到一个或多个分支。
设定
基本设置过程为:
保护分支的基本配置
这是一个仅包含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
在参数列表中包含多个args:
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
挂钩。