Gitlab에서 Repository를 만들고 코드를 push 하려고 하는데, pre-receive hook declined
에러가 발생하면서 push가 실패했습니다.
구글링을 해보니 Protected branches의 정책으로, Git Repository를 생성할 때 기본적으로 Maintainer에게만 push 권한이 부여되고 Developer에게는 권한이 부여되지 않는 것 같습니다. Settings에서 권한 재설정으로 push가 되도록 문제를 해결할 수 있습니다.
브랜치 생성 시 main 브랜치가 Protected branches
로 설정되어 Developer는 push를 할 수 없었습니다.
중요도에 따라서 Maintainer가 처리하거나, Developer가 직접 할 수 있도록 권한 설정을 할 수 있습니다. 저는 혼자 사용하는 git이기 때문에 Protected branch
를 사용하지 않도록 변경하였습니다.
GitLab의 Project에서 Settings -> Protected branches
로 들어가시면 다음과 같이 권한을 변경하거나 사용하지 않도록 변경할 수 있습니다.
위와 같이 Unprotected
브랜치로 변경 후, 다시 push
를 해보니 성공하였습니다.
자료 출처