이 자습서 https://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.md의 1-6 단계에 따라 가상 머신에서 gitlabhq 레일 서버를 실행하고 rails 서버 실행 명령을 시작합니다 sudo -u git -H bundle exec rails s -e production
. 그 후 관리 도구를 사용하여 사용자를 만들고이 사용자 아래에 새 프로젝트를 만들었습니다. 그런 다음 항상 기존 프로젝트를이 리포지토리로 푸시하려고합니다. 그러나 마지막 단계에서 git push origin master
오류와 함께 실패
[원격 거부] 마스터-> 마스터 (사전 수신 훅이 거부 됨)
추가 정보:
1) 전자 메일 활성화 링크를 통해 사용자 (프로젝트 소유자)를 활성화하지 않았습니다. 서버 측에서 사후 서비스를 구성하지 않았 으므로이 매뉴얼에서 그렇게하는 방법을 찾지 못했습니다.
2) Gitlab 서버는 프로젝트를 repo로 푸시하는 방법에 대한 팁을 생성 repositories/
하며 경로 가 없습니다 . 나는 그것이 올바른 git@mygitlabhost:user/repo.git
것이 아니라 생성된다는 것을 의미합니다 git@mygitlabhost:repositories/user/repo.git
.
내가 그것을 디버깅하려고 할 때 3), I 열 pre-receive
서버에서 REPO 내부에 스크립트를 출력 변수 (그 중 3가)에 시도 : refs = ARGF.read
, key_id = ENV['GL_ID']
및 repo_path = Dir.pwd
과, 그 KEY_ID은 항상 비어 발견했다. 어쩌면 문제가 여기에 있습니다. 그렇다면 문제를 해결하는 방법에 대한 제안을 제공해주십시오. 감사
답변
GitLab 기본 마크에 의해 master
같은 지점 protected
(참조 부분 Protecting your code
에서 https://about.gitlab.com/2014/11/26/keeping-your-code-protected/ 이유). 그렇다면 귀하의 경우 다음과 같은 도움이 될 수 있습니다.
프로젝트> 설정> 저장소를 열고 “보호 된 분기”로 이동하여 목록에서 “마스터”분기를 찾은 다음 “보호 해제”를 클릭하고 다시 시도하십시오.
https://gitlab.com/gitlab-com/support-forum/issues/40을 통해
버전 8.11 이상의 방법 : https://docs.gitlab.com/ee/user/project/protected_branches.html#restricting-push-and-merge-access-to-certain-users
답변
내 로컬 컴퓨터에서 해결 된 문제는 다음과 같습니다.
A. 먼저 Bitbucket Server에 연결하기 위해 올바른 로그온 정보를 사용하고 있는지 확인하십시오 (예 : 자신의 사용자 이름 / 암호 / SSH 키).
B. 그런 다음 로컬 Git 구성에 이름 / 이메일 주소가 올바르게 설정되어 있는지 확인하십시오. 푸시하려는 계정에 대해 로컬 Git 구성을 설정하십시오 (확인은 파일을 커밋 한 사람임을 나타냅니다). 이름과 이메일 주소 모두 대소 문자를 구분합니다. * 또한 공백을 사용합니다. 일부 회사 계정에는 이름에 공백이나 문자가 있습니다. “Contractor/ space space(LDN)
“. Bitbucket Server와 동일한 수의 공간을 구성에 포함해야합니다. 걸린 경우 메모장에서이를 확인하십시오.
C. 잘못된 계정을 사용하는 경우 계정 자격 증명 (사용자 이름 / 암호 / SSH 키)을 전환하고 다시 밀어 넣으십시오.
D. 그렇지 않으면, 로컬 구성이 올바르지 않은 경우이를 수정해야합니다.
MAC의 경우
open -a TextEdit.app ~/.gitconfig
참고 : 푸시하려는 이전 커밋을 수정해야합니다.
-
마지막 커밋을 수정하십시오.
> git commit --amend --reset-author <save and quit the commit file text editor that opens, if Vim then :wq to save and quit>
-
커밋을 다시 푸시하십시오.
> git push
답변
내 경우, REPO을 생성 (REPO가 비어)와 같이 저를 할당 내 팀의 리더 개발자는 내가 직접 내가 직면 한 오류 마스터 코드에 푸시 있도록 할 때 ! [remote rejected] master -> master (pre-receive hook declined)
그것은 그가 나를에 할당 된 것으로 고정 방법에 따라서를 메인테이너 I 있도록 코드를 마스터에게 직접 푸시 할 수있었습니다.
답변
sidekiq와 같은 일부 서비스에 문제가있는 것 같습니다. 실행 sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
하면 구성의 모든 문제가 출력됩니다.
답변
나는 heroku logs img https://devcenter.heroku.com/articles/buildpacks#detection-failure (cmd 사용 : heroku logs-> 오류 표시) 지침에 따라 cmd : “heroku buildpacks : clear”를 수행합니다. 마침내, 그것은 나를 위해 일했다!
답변
프로젝트 또는 마스터 브랜치에 대한 개발자 액세스 권한이 없을 수 있습니다. 새로운 작업을 추진하려면 개발자 액세스 권한이 필요합니다.
새로운 일은 새로운 가지와 커밋을 의미합니다.
답변
사실이 아닐 수도 있지만 이것이 ” 수령 전 후크 의 해결책이었습니다.” “오류 .
Pull Request 를 통해서만 수정을 허용하는 일부 저장소가 있습니다. 이것은 당신이해야한다는 것을 의미합니다
- 변경 사항을 적용 할 지점을 기준으로 새 지점을 만듭니다.
- 변경 사항을 커밋하고 새 브랜치에 적용하십시오.
- 풀 요청을 열어 브랜치를 원래 브랜치와 병합하십시오.