Protected branch 가 정책을 강제로 바꿔
프로덕션 grade repo 가 우발적으로 안 망가지는 이유는 모두가 조심해서가 아니야. 플랫폼이 중요 branch 의 안전하지 않은 연산을 거부해서야. GitHub / GitLab / Bitbucket 의 protected branch 가 룰 — 필수 PR 리뷰, 필수 CI 통과, force-push 금지, signed-commit 요구 — 을 branch 수준에 인코딩해. 한 번 설정하면 maintainer 도 우발적 main force-push 못 해.
모든 main 에 적용할 default 보호 세트: merge 전 PR 요구, 승인 1+ 요구, status check (CI suite) 통과 요구, 새 commit 들어오면 stale 승인 dismiss, force-push 금지, 삭제 금지. 더 큰 팀은 추가: 민감 path 에 CODEOWNERS 리뷰 요구, linear history 요구 (rebase 또는 squash merge 강제), signed commit 요구.
CODEOWNERS 는 path 를 필수 reviewer 에 매핑하는 파일. frontend/auth/* @auth-team 은 auth 코드 건드리는 모든 PR 이 auth 팀 리뷰 필요라는 뜻. branch 보호의 'Require review from Code Owners' 와 결합하면 룰이 강제 — auth 변경을 누가 merge 하든 auth 팀 승인 없이 merge 못 해.
Status check 가 gate 의 나머지 절반. 필수 CI workflow — test, type check, lint, 보안 스캔 — 가 녹색 보고해야 merge 허용. 이게 고전적 '방금 push 함, test 는 결국 통과할 거야' 실수 막아. auto-merge ('체크 통과 시 merge') 와 결합하면 개발자가 auto-merge 켠 PR 만들고 떠나, 플랫폼이 모든 gate 녹색일 때만 통합.