TMAegisBeta
更多 gitlab 规则

GitLab

TMA-GITLAB-1.1.13

Ensure linear history is required

中级别 2自动化gitlab

说明

Linear history is the name for Git history where all commits are listed in chronological order, one after another. Such history exists if a pull request is merged either by rebase merge (re-order the commits history) or squash merge (squashes all commits to one). Ensure that linear history is required by requiring the use of rebase or squash merge when merging a pull request. Enforcing linear history produces a clear record of activity, and as such it offers specific advantages: it is easier to follow, easier to revert a change, and bugs can be found more easily.

检查方式

审计方法: Shell 命令

shell
command -v glab >/dev/null 2>&1 || exit 1
glab auth status >/dev/null 2>&1 || exit 1
proj=$(glab repo view -F json 2>/dev/null) || exit 1
printf "%s" "$proj" | grep -q '"id":' && echo compliant || echo non-compliant
预期输出
compliant

修复方式

修复方法: 操作指南或基础设施补丁

For every project, perform the following steps: - Navigate to your project - In the sidebar, select Settings > Repository - Under 'Merge method', select 'Fast-forward merge'.

属性

操作系统
任意
标签
devsecopsgitlab
参考
CIS GitLab Benchmark v1.0.1 - 1.1.13 Ensure linear history is required

检查本机

请在您有权审计的机器上运行此命令。扫描为只读操作。

shell
tmaegis scan --target gitlab --level 2