Protected Banch란?
어떤 브랜치를 어떤 행위에 대해서 보호하기 위한 조치이다. 예를 들어 우리의 소중한 마스터 브랜치는 언제나 잘 작동하는 올바른 코드가 올라가야 할 것이다. 이 원칙을 지키기 위해 마스터 브랜치에는 항상 올바른 커밋 혹은 머지가 되어야 할 것이다. 우리는 이러한 브랜치를 보호하기 위해서 브랜치들에 대해 protection rule들을 설정 해 줄 수 있다.
pull을 받으려고 하는 경우 permission 에러 발생
처음 GitLab에서 프로젝트를 생성하면 master brach는 디폴트로 proteced 상태이다. 대개 프로젝트 생성후 초기에 브랜치 보호를 해제하지 않고 멤버가 master branch를 pull 또는 push 하려는 경우 발생한다.
에러 발생 원인
먼저 해당 프로젝트에서 본인의 permission이 Maintainer인지 Developer인지 확인합니다. 기본적으로 Gitlab에서는 프로젝트의 master branch를 보호합니다. 해당 프로젝트의 permission이 Developer인 팀원들은 master branch로 merge하거나 push할 수 없습니다. 따로 branch를 생성해 작업해야만 합니다.
해결 방법
Gitlab 설정을 통해 간단히 해결할 수 있습니다.
- 해당 Gitlab 프로젝트의 설정 > 저장소로 접속합니다.
- Protected Branches를 선택합니다.
- Allow to merge / Allow to push를 “Developers + Maintainers”로 수정합니다.
단, 모든 Developer에게 master branch 접근 권한이 필요하지 않은 경우 접근 권한이 필요한 팀원만 Maintainer로 지정하는 것도 한 방법입니다.
참고자료 :
https://nicolasjo.tistory.com/115
https://gardeny.tistory.com/19
https://soulcactus.netlify.app/development/gitlab-master-branch-push/
'Git' 카테고리의 다른 글
Git 커밋: 소프트웨어 개발의 필수 기록 (104) | 2024.01.23 |
---|---|
Git 작업 흐름의 이해: 단계별 안내 (53) | 2024.01.17 |
Git: 버전 관리의 핵심 (51) | 2024.01.17 |
[Git] Git branch 종류 (2) | 2022.09.27 |
Git Commit Message 작성 규칙 (0) | 2022.09.19 |