WEB개발이야기/Git
[Gitlab Error] you are not allowed to push code to protected branches on this project 에러
반응형
Gitlab을 설치하고 혼자만 사용할 때는 없던 문제였는데 여러 명과 같이 사용하게 되면서 발생한 에러가 있습니다.
Clone
, Pull
, Commit
까지는 모두 문제없이 사용이 가능한데.. Push
로 서버에 올릴려면 에러가 발생하는 경우 였습니다.
문제 발생
이런 화면이 나오면서 you are not allowed to push code to protected branches on this project 메시지를 토해 냅니다.
문제 원인
문제의 원인은 이 저장소의 해당 브런치에 업로드(Push)를 할 수 있는 권한이 없다. 라는 뜻입니다. 다시 말하면 권한의 문제 입니다. 혼자 사용 할 경우는 본인이 Owner
이기 때문에 문제없이 Push
가 되지만 새로 생성된 사용자인 경우는 대부분 권한이 Guest
, Reporter
, Developer
이기 때문에 Push가 되지않는 문제가 발생할 수 있습니다.
해결 방법
해결방법은 간단합니다. 해당 저장소 브런치의 protected
를 헤제 하거나 접속권한의 레벨을 낮추던지 사용자에게 사용할 수 있는 권한을 주면 됩니다.
- 해당 저장소의 설정메뉴 중
저장소
를 선택합니다. - 페이지의 중간 쯤에
Protected Branches
를 찾습니다. - 오른쪽 끝에 있는
펼치기[Expand]
를 선택합니다. - 원하는 브런치를 선택합니다. 보통
master
를 선택하면 맞을 거에요. - 서버에
merge
를 할 수 있는 권한의 단계를 설정합니다. - 서버에
push
를 할 수 있는 권한의 단계를 설정합니다. 이 권한을 낮춰주시면 됩니다.Protect
버튼을 클릭하면 바로 아래 권한 표시 된 리스트가 추가됩니다. - 일단 요기에 표시된 것이 실제 반영된
protected
리스트입니다. 이 리스트 우측에 있는Unprotect
버튼을 클릭하면 해당 리스트가 삭제되고 잠김이 풀립니다.
다른 것 않하고 7번 Unprotect
버튼을 눌러 리스트를 삭제해도 위의 문제를 해결할 수 있습니다.