브랜치 보호 규칙 설정하기

tomchaccom·2025년 11월 3일

git

목록 보기
1/5

브랜치 보호규칙 설정하기

  1. 레포 생성하기
  2. 레포에 setting 에서 브랜치 보호 규칙 설정하기

=> 일단 보호 규칙으로는 PR 후 merge 시 최소 2명의 승인 받기

  1. 먼저 깃 레포를 생성해보자

  2. 레포 상단에 setting으로 들어가기

  3. 왼쪽에 Rules -> RuleSet-> new ruleset -> new branch ruleset

    rulesets 설정 내용

    항목설명
    1️⃣ Ruleset Name규칙 세트의 이름
    예: main-branch-protection, release-branch-rules
    여러 규칙 세트를 구분하기 위해 붙이는 이름
    2️⃣ Enforcement Status규칙 적용 여부
    - Active: 현재 규칙이 적용 중
    - Disable: 규칙을 만들어 두되, 아직 적용하지 않음
    3️⃣ Bypass List예외 사용자 / 팀 / 앱 지정
    여기에 등록된 사용자나 팀은 규칙을 무시하고 강제 푸시나 삭제 가능
    예: admin, CI/CD bot 계정
    4️⃣ Target Branches규칙이 적용될 브랜치 지정
    예: main, release/*, develop
    *, ? 등의 패턴을 사용해 여러 브랜치를 한 번에 지정 가능
    5️⃣Rules (브랜치 규칙 옵션)세부 브랜치 보호 설정 항목들
    예: Require PR before merging, Restrict deletions 등

    rulesets 설정 내용을 참고해서 브랜치 보호 규칙을 설정하면 됩니다.

  1. 실제로 PR 후 main에 병합하려면, 2명의 승인이 필요하도록 브랜치 보호 규칙을 설정(보호규칙 내용은 아래에 있습니다)
  • main-protection은 적용된 보호 규칙은
  • force-push 금지
  • 직접 푸시 금지(반드시 PR을 통해서 병합)
  • 브랜치 삭제 방지
  1. 현재는 메인 브랜치에 적용했기 때문에 다른브랜치에는 어떻게 적용함?
  • Target branch에 default branch를 선택했음(main)
  • 하지만. backend/fix/23, backend/feat/80 이런 브랜치에만 따로 규칙을 적용하고 싶다면?

target branch -> include by pattern을 통해서 backend 로 시작하는 브랜치에만 보호규칙을 따로 적용하면 된다!

frontend, backend 에 적용되는 브랜치 보호 규칙 생성

-> PR 시 1명의 승인만 필요하게끔 설정, 브랜치 삭제 가능

브랜치 보호 규칙

옵션설명
Restrict creations브랜치를 새로 생성하는 것을 제한 (관리자만 가능)
Restrict updates기존 브랜치에 직접 푸시하는 것을 제한
Restrict deletions브랜치 삭제 방지
Require linear history병합 커밋(merge commit)을 금지 → rebase 기반만 허용
Require deployments to succeed특정 환경(deploy env)에 성공한 뒤만 푸시 가능
Require signed commitsGPG 서명된 커밋만 허용
Require a pull request before merging직접 푸시 금지 → 반드시 PR을 통해 병합
Require status checks to passGitHub Actions 등 CI 결과가 통과해야 머지 가능
Block force pushesgit push --force 금지
Require code scanning results코드 스캔 결과(예: GitHub Advanced Security)가 있어야 머지 가능
Require code quality results코드 품질 점검 결과(예: SonarQube) 기준 충족 필요
Automatically request Copilot code reviewPR 생성 시 Copilot 코드 리뷰 자동 요청
profile
백엔드 개발과 친해지기!

0개의 댓글