2011-11-02 2 views
63

감소 사전 수신, 나는 ...힘내 오류 - 내가 노력하고 내가 최선을 다하고 한 변화를 누르면 후크

git.exe push -v --progress "origin" iteration1:iteration1 

remote: ********************************************************************* 
To ssh://[email protected]/cit_pplus.git 
! [remote rejected] iteration1 -> iteration1 (pre-receive hook declined) 
error: failed to push some refs to 'ssh://[email protected]/cit_pplus.git' 

다음과 같은 오류가 일어나고 무엇을 얻을?

+7

사전 수신 hookon mycogit에는 무엇이 있습니까? –

+0

큰 파일을 github에 푸시하려고하지 않으시겠습니까? –

+0

FYI : 오늘 모든 동료들이이 오류 메시지를 받았다. 결국 은신처 서버를 다시 시작하기로 결정했고 마술처럼 수정되었다. 그 문제가 실제로 무엇인지는 알 수 없습니다. –

답변

46

언제든지 repo를 관리하는 사람에게 [email protected]/cit_pplus.git에게 문의해야합니다.

해당 repo의 pre-receive hook (사용자가 구성 할 수있는 스크립트로 들어오는 커밋을 분석하고 해당 토큰이 레포에 수용 될 수 있는지 여부를 결정하기위한 것입니다)에 의해 커밋이 거부되었습니다.

그 사람에게 후크를 업데이트하도록 요청하는 것이 좋습니다. 그러면 거부 이유가 인쇄됩니다.

관리자가 직접 본인이라면 서버 측에서 설정에 문제가있는 것처럼 보입니다. 더 많은 정보를 공유하십시오.

+0

필자의 경우, BitBucket은 커밋 메시지 내용에 대한 유효성 검사를 수행하여 그 순간에 오프라인 상태 인 JIRA 티켓에 맞 춥니 다. –

+1

그래서 온라인이되었을 때 고정? – shareef

+0

그리고 repo가 ​​heroku에 있다면? –

42

나는 고속 전진 푸시를 시도하고 후크가 그것을 막을 것이라고 확신한다. 이 경우 최신 코드베이스에서 로컬 변경 사항을 리베이스하기 전에 밀어 넣기 전에 git pull --rebase을 실행하면됩니다.

5

이 어쩌면 변경 내용을 병합하려고 할 때 메인테이너가 당신에게 나는이 문제를 가지고

+0

나는 이것이 정확하다고 생각하지만 흥미로운 점은 VS가 부모 브랜치에 실제 브랜치 이름을 푸시하려고 시도하는 것 같다. 부모 브랜치가 보호되어 있다면 이것은 발생하고있는 것처럼 보이지만 어쨌든 VS에서이 문제를 해결하는 것으로 보이지 않으며 cmd 행으로 전환해야합니다. – Mark

4

추진되는 권세를 주 셨으니 요청할 수 있습니다, 당신은 마스터로, 일부 지점에 커밋 밀어 수있는 권리가 did't 것을 발생 파일 크기가 원격 저장소에서 허용하는 것보다 큽니다. (제 경우에는 GitHub이었습니다)

+2

제 경우에도 GitHub 파일을 삭제 한 후에도 여전히 불만을 토로했습니다 ...하지만이 답변은 트릭을 만들었습니다 https://stackoverflow.com/questions/19573031/cant-push-to-github-because-of-large-file-which -i-already-deleted – CodenameDuchess

17

파일 크기가 중요합니다. 하나의 파일에 대해 ~ 120MB의 한계가 있습니다. 필자의 경우, .gitignore는 Visual Studio를 사용하여 파일을 나열했지만 파일은 여전히 ​​커밋되었습니다. git cli를 사용할 때 오류에 대한 자세한 정보를 얻을 수 있습니다.

수신 전 수신 거부가 큰 파일의 결과입니다. 기본적으로 밀어 넣기의 유효성을 검사합니다.

를 해결하려면, 내가 마지막으로 사용 커밋 제거 :

git reset --soft HEAD~1 

나는 다음 커밋에서 파일을 제외.

도움이 되길 바랍니다.

+0

내 문제가 원하지 않는 SQL 덤프 파일 (파일 크기가 155MB)이 우연히 푸시되었습니다. –

+0

파일 크기 제한은 호스팅 제공 업체에 따라 다릅니다. GitHub에는 그 크기가 제한되어 있으며 다른 것들은 다양하기 때문에 자체 호스팅 git에는 자연히 그러한 제한이 없습니다. – 1615903

1

GitLab 서버가 일부 변경을 수행 중일 때이 메시지가 나타납니다. 다음날 밀기가 잘되었습니다. 어쨌든, 다른 사람들이 지적했듯이, 유지 보수 담당자에게 확인하십시오.

2

GitLab에서 지점이 'Protected'로 표시 되었기 때문에이 메시지가 나타납니다.

0

독촉을하려고 할 때 이것을 받았습니다. 내 서버에서 디스크가 꽉 찼음을 알립니다.

이 란 : du -f

그리고 결과가 있었다 : 그들은 메시지 "<JIRA ID><Message>"를 저지하기위한 특별한 형식이있는 경우

내 경우
Filesystem  Size Used Avail Use% Mounted on 
udev   476M  0 476M 0% /dev 
tmpfs   100M 4.4M 95M 5% /run 
/dev/xvda1  7.8G 7.4G 8.9M 100%/
0

, 우리는 커밋 메시지에 대한 후크를 가지고, 우리의 서버 스크립트는 커밋을 받아들입니다.각 Jira 티켓이 존재하지 않거나 커밋 메시지에 특별한 기호가 있으면 It (hook) 커밋을 거절합니다. /, [,> 등을 커밋 메시지에 추가 할 때이 오류가 발생하여 문제가 해결되었습니다.

+0

원래의 포스터 (및 앞으로 방문하는 모든 사용자)는 사전 수신 후크로 구성된 다른 스크립트를 갖기 때문에이 대답은 도움이되지 않습니다. – aronisstav

0

실제로 이는 BitBucket에서 YACC가 서버 측에서 활성화되면 발생합니다. YACC는 JIRA 이슈 이름이 커밋 메시지에 언급되도록합니다. 따라서, 커밋 메시지에 JIRA 번호를 최소한 유지하고 추가적으로 자신의 메시지를 추가 할 수 있습니다.

관련 문제