프로젝트에 개발자 액세스 권한이있는 동안 코드를 git으로 푸시하면 문제가 있지만 마스터 액세스 권한이 있으면 모든 것이 정상입니다. 문제는 어디에서 발생합니까? 그리고 그것을 고치는 방법?
에러 메시지:
오류 :이 프로젝트에서 보호 된 분기로 코드를 푸시 할 수 없습니다.
...
오류 : 일부 참조를 푸시하지 못했습니다 ...
프로젝트에 개발자 액세스 권한이있는 동안 코드를 git으로 푸시하면 문제가 있지만 마스터 액세스 권한이 있으면 모든 것이 정상입니다. 문제는 어디에서 발생합니까? 그리고 그것을 고치는 방법?
에러 메시지:
오류 :이 프로젝트에서 보호 된 분기로 코드를 푸시 할 수 없습니다.
...
오류 : 일부 참조를 푸시하지 못했습니다 ...
답변:
문제가 없습니다. 모든 것이 예상대로 작동합니다.
GitLab에서는 일부 브랜치를 보호 할 수 있습니다. 기본적으로 유지 관리 / 소유자 사용자 만 보호 된 분기에 커밋 할 수 있습니다 ( 권한 문서 참조 ). master
브랜치 (branch)는 기본적으로 보호되어 있으며, 개발자는 메인 코드에 통합하기 전에 프로젝트 관리자가 병합 요청을 검증하도록 강제합니다.
프로젝트 설정에서 선택한 브랜치에 대한 보호 기능을 켜고 끌 수 있습니다 (GitLab 버전에 따라 다릅니다. 아래 지침 참조).
동일한 설정 페이지에서 개발자가 보호 된 분기로 푸시 할 수도 있습니다. 이 설정을 사용하면 보호가 필요한 작업 거부 git push --force
(리베이스 등) 로 제한됩니다 .
"설정된"→ "저장소"→ "보호 된 분기"의 "확장"프로젝트로 이동하십시오.
이 변경 사항이 언제 도입되었는지 잘 모르겠습니다. 스크린 샷은 10.3 버전입니다.
이제 선택한 분기로 병합 또는 푸시 할 수있는 사용자를 선택할 수 있습니다 (예 : 푸시 요청 master
을 전혀 해제 하여 분기에 대한 모든 변경을 병합 요청을 통해 수행하도록 할 수 있음). 또는 "보호 해제"를 클릭하여 분기에서 보호를 완전히 제거 할 수 있습니다.
GitLab 9.3과 유사하지만 "확장"을 클릭 할 필요가 없습니다. 모든 것이 이미 확장되었습니다 :
"설정"→ "저장소"→ 프로젝트로 이동하여 "보호 된 분기"로 스크롤하십시오.
프로젝트 : "설정"→ "보호 된 지점"(지정된 프로젝트의 '마스터'이상인 경우).
그런 다음 "보호 해제"또는 "개발자가 푸시 할 수 있음"을 클릭하십시오.
로컬 gitlab 서버의 "빈 지점"에서이 오류가 발생했습니다. 어떤 사람들은 "빈 지점에서 처음으로 밀 수 없다"고 언급했습니다. 브라우저를 통해 gitlab에 간단한 README 파일을 만들려고했습니다. 그런 다음 모든 것이 놀랍게 수정되었고 문제가 해결되었습니다! 나는 내가 주인이고 지점이 보호되지 않았다고 언급했다.
링크별로 변경해보십시오
https://docs.gitlab.com/ee/user/project/protected_branches.html
관리자 또는 개발자가 커밋하도록 프로젝트를 보호되지 않은 상태로 만듭니다.
이 문제에 대한 간단한 해결책은 gitlab에서 소유자 역할을하는 사람과 빠른 대화를 나누는 것입니다. 그는 하나의 파일 READ.md 또는 유사 파일을 밀어서 시작할 수 있습니다. 나중에 모든 것이 이전과 같이 작동합니다.
이 문제가 나타 났을 때 나는 Windows에있었습니다.
사용자 이름과 비밀번호를 입력하기 전에 오류가 발생하기 때문에 이상합니다. 캐시 나 이와 비슷한 것이 있다면 어떨까요? 나는 그것을 온라인으로 파고 gitlab의 지원 포럼 에서이 답변을 찾았습니다 .
"제어판 => 사용자 계정 => 자격 증명 관리 => Windows 자격 증명"을 엽니 다. https : //@github.com에 대해 두 개를 찾았고 하나는 잘못된 사용자였습니다. 나는 그것을 삭제하고 다음 "git push"에서 올바른 자격 증명을 제공하고 다시 제공했습니다. 다른 참고 사항-이것은 git 리모컨에서 발생할 수 있습니다.
Windows 자격 증명에서 이전 계정에 대한 두 개의 GitLab 항목을 찾았습니다. 둘 다 제거하면 이제 작동합니다!
패널 :