可以在 GitLab CI 中使用预定义的钩子来阻止提交。
- 首先,在 GitLab CI 配置文件中添加一个新的 job,该 job 会运行一个脚本以检查提交是否符合规定。
例如:
check-commit:
script:
- ./check-commit.sh
- 在项目的根目录下创建一个名为
check-commit.sh
的脚本文件,并添加以下内容:
#!/bin/sh
# Get the commit message
COMMIT_MSG=$(git log --format=%B -n 1 HEAD)
# Check if commit message contains a specific pattern
if echo "$COMMIT_MSG" | grep -q "Do not commit"; then
echo "Error: Do not commit"
exit 1
fi
这个脚本会获取最近一次提交的提交信息,并检查它是否包含特定的字符串。如果包含,则会输出错误消息并退出。
- 将脚本文件添加到 Git 仓库中,并将其提交到 GitLab。当用户尝试提交包含指定字符串的提交时,GitLab CI 将会阻止提交。
注意:如果你想防止所有提交,请将上述脚本添加到 GitLab CI 配置文件中的每个 job 中。