ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Git에서 branch 보호
    카테고리 없음 2023. 10. 7. 03:17

    Git 에서는 브렌치를 아무나 건들이지 못하도록 보호할  수 있는 기능이 있는데 , private 으로 생성되었고 무료 버전의 git 을 사용중인 우리들에겐 사용할 수 없는 기능이지만 나중에 알아두면 도움이 될만한 내용이기에 정리함.

    Branch name pattern

    : 특정한 브렌치나 특정한 패턴을 가진 브렌치에 대해 Branch Protection Rule 이 적용될 수 있도록 함.

     

    ex) main01, main02 라는 브렌치를 만들었을 때 이 브렌치들에게 브렌치 보호 기능을 걸고 싶다 => main +@ 이기 때문에 main* 으로 'main'을 포함하는 브렌치 모두가 브렌치 보호 기능을 사용할 수 있는 대상이 된다. 

    물론 main01, main02 각각 따로 정해줄 수도 있다.

     

     

    Require a pull request before merging

    : 해당 브렌치에 커밋을 추가하기 위해 로컬에서 Direct push 가 안되고, 별도 브렌치를 만들어 Pull Request 를 해야되는 것을 설정하는 값.

    협업시 브렌치를 Local 에서의 Direct Push 로부터 보호하고 코드리뷰를 강제하기 위함.

     

    세부적으로 코드 리뷰가 필요한지, 필요하다면 최소 몇 명의 리뷰가 있어야 하는지, 리뷰 작업 중 변동 내역이 있다면 기존의 승인을 취소할지에 대한 여부 등을 결정할 수 있다. 

     

     

    Require status checks to pass before merging

    : 테스트 결과 이상이 없을 시에만 Merge 가능 하도록 함.

    Merge 전에 상태 체크를 먼저 진행. 테스트 코드등을 미리 돌려 문자 그대로 PR 의 상태를 그대로 확인할 수 있다. 상태 체크의 경우 Github Action 을 통해 가능.

     

     

    Require conversation resolution before merging

    : Pull Request 를 전송하면 코드리뷰를 통해 Conversation 이 생기게 되는데, 이 Conversation 이 모두 solved 되었을 때만 Merge 할 수 있도록 함.

    Merge 전 PR 에 남겨진 코맨트 = conversation 를 모두 확인해야 함. 남겨진 모든 코멘트에 답을 달아주어야 Merge 가 되는 옵션으로 코드 리뷰를 꼼꼼하게 진행할 때 사용.

     

     

    Require signed commits

    : 커밋들이 sign 이 되어있어야 함. 보통 Github 에 GPG Key (쉽게 말해 인증된 커밋들) 를 등록하고 해당 Key 를 가진 사람이 커밋한 경우 Verified 라고 뜨게 됨. (아직 본인도 정확히 이해 못 했음.)

     

     

    Require linear history

    : 해당 브렌치에서 분기를 불가능하게 만듬. => 히스토리 추적을 쉽게하기 위함 + 하나의 브렌치로 유지해야 할 필요가 있을 때 사용.

Designed by Tistory.