본문 바로가기
반응형

Gitlab을 설치하고 혼자만 사용할 때는 없던 문제였는데 여러 명과 같이 사용하게 되면서 발생한 에러가 있습니다.

Clone, Pull, Commit까지는 모두 문제없이 사용이 가능한데.. Push로 서버에 올릴려면 에러가 발생하는 경우 였습니다.

문제 발생

Git Error

이런 화면이 나오면서 you are not allowed to push code to protected branches on this project 메시지를 토해 냅니다.

문제 원인

문제의 원인은 이 저장소의 해당 브런치에 업로드(Push)를 할 수 있는 권한이 없다. 라는 뜻입니다. 다시 말하면 권한의 문제 입니다. 혼자 사용 할 경우는 본인이 Owner이기 때문에 문제없이 Push가 되지만 새로 생성된 사용자인 경우는 대부분 권한이 Guest, Reporter, Developer이기 때문에 Push가 되지않는 문제가 발생할 수 있습니다.

해결 방법

해결방법은 간단합니다. 해당 저장소 브런치의 protected를 헤제 하거나 접속권한의 레벨을 낮추던지 사용자에게 사용할 수 있는 권한을 주면 됩니다.

Gitlab설정

  1. 해당 저장소의 설정메뉴 중 저장소를 선택합니다.
  2. 페이지의 중간 쯤에 Protected Branches를 찾습니다.
  3. 오른쪽 끝에 있는 펼치기[Expand]를 선택합니다.
  4. 원하는 브런치를 선택합니다. 보통 master를 선택하면 맞을 거에요.
  5. 서버에 merge를 할 수 있는 권한의 단계를 설정합니다.
  6. 서버에 push를 할 수 있는 권한의 단계를 설정합니다. 이 권한을 낮춰주시면 됩니다. Protect 버튼을 클릭하면 바로 아래 권한 표시 된 리스트가 추가됩니다.
  7. 일단 요기에 표시된 것이 실제 반영된 protected 리스트입니다. 이 리스트 우측에 있는 Unprotect 버튼을 클릭하면 해당 리스트가 삭제되고 잠김이 풀립니다.

다른 것 않하고 7번 Unprotect 버튼을 눌러 리스트를 삭제해도 위의 문제를 해결할 수 있습니다.

반응형

UX 공작소

고급지게 만들어 저렴하게 배포는 공작소