반응형
gitlab을 사용하다가 회원의 권한을 Developer
로 설정했음에도 불구하고 push할 때 git did not exit cleanly (exit code 1)
와 같은 오류 메시지를 내뱉을 때가 있습니다.
순간 당황하겠지만 아래의 내용을 보시면 한줄기 빛과 같은 희망을 만날 수 있습니다.
gitlab의 권한체계를 보면 Guest
, Reporter
, Developer
, Maintainer
, Owner*
의 5개 권한을 운영하고 있고 push는 보통 Developer
, Maintainer
, Owner*
의 권한에 대해서 가능합니다. 그러나 프로젝트에 따라 Developer
도 안되는 경우가 있는데 아래의 설정으로 해결을 할 수 있습니다.
프로젝트 Push 설정
Protected Branches 설정
- 설정 > 저장소를 선택합니다.
- Protected Branches 메뉴의 오른쪽에 있는 펼치기 버튼을 클릭합니다.
- 프로젝트의 브렌치에 대해 merge와 push 에 대한 권한을 설정하는 화면입니다.
- 원하는 Branch를 선택합니다.
- merge(합치기)를 할 수 있는 권한을 지정합니다. (
Developer
+Maintainer
) - push(업로드)할 수 있는 권한을 지정합니다. (
Developer
+Maintainer
)
- 기본 master브렌치에 대한 권한이 이미 설정되어 있네요. 여기에 (
Maintainer
)만 선택되어 있다면 (Developer
+Maintainer
)로 선택하시면 됩니다. - 설정되어있는 것을 삭제하는 버튼입니다.
이제 Developer
로 push할때 오류없이 정상적으로 작동이 될 것입니다.