2011-11-02 57 views
63

當我嘗試和推動改變我COMMITED,我得到以下錯誤...Git的錯誤 - 前收到鉤下降

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

僅供參考:今天我所有的同事都收到了這個錯誤消息,最終我們決定重啓我們的存儲服務器,並且它被修復了。我們不知道這個問題實際上是什麼。 –

回答

46

您應該詢問維護回購的人是否在[email protected]/cit_pplus.git

您的提交被該回購的pre-receive hook拒絕(這是一個用戶可配置的腳本,旨在分析傳入的提交併決定它們是否足以被接受回購)。

這也是一個好主意,要求該人更新掛鉤,因此它會打印拒絕的原因。

如果維護人員是你自己,那麼它看起來像你在服務器端的設置有問題。那麼請分享更多信息。

+0

就我而言,BitBucket驗證了提交消息的內容,並與當時處於脫機狀態的JIRA票證進行了面對面的對話。 –

+1

所以當它變成網上它的固定? – shareef

+0

如果回購是在heroku? –

42

我敢打賭,你正在嘗試一個非快速前進的推動和掛鉤阻止它。如果是這種情況,只需運行git pull --rebase,然後再推送最新代碼庫中的本地更改。

5

這可能是造成你我以前不具有推提交到一個分支,比如主人的權利,試圖合併修改時,你可以問維護者給你推

+0

我認爲這是正確的,但有趣的是VS似乎試圖推送到父分支,而不是實際的分支名稱到遠程。所以,如果父分支受到保護,這似乎正在發生,但似乎無論如何在VS中糾正此問題,並且您必須切換到cmd行。 – Mark

4

我有這個問題的權利與文件大小遠遠超過允許遠程存儲庫(在我的情況下,它是GitHub)

+2

在我的情況下,甚至在刪除文件GitHub仍然抱怨...但這個答案做了竅門https://stackoverflow.com/questions/19573031/cant-push-to-github-because-of-large-file-which -i-already-deleted – CodenameDuchess

17

文件大小是重要的。單個文件有一個大約120MB的限制。在我的情況下,使用Visual Studio的.gitignore列出了該文件,但該文件仍被提交。當使用git cli時,我們可以獲得有關錯誤的更多詳細信息。

pre-receive hook謝謝大文件。基本驗證推送。

要解決這個問題,我刪除了最後一次提交使用:

git reset --soft HEAD~1 

然後我排除在提交的文件中。

希望它有幫助。

+0

這有助於我的問題是一個不需要的SQL轉儲文件(文件大小155mb)被推送(偶然)。 –

+0

文件大小限制取決於您的託管服務提供商。 GitHub在這個大小上有一個限制,對於其他的不同,自己託管的git自然不會有這樣的限制。 – 1615903

1

當GitLab服務器正在進行一些更改時,我收到了此消息。第二天推送工作正常。無論如何,正如其他人指出的那樣,請與您的維護人員確認一下。

2

在我的情況下,我收到了這條消息,因爲該分支在GitLab中被標記爲「受保護」。

0

我試圖推送到dokku實例時得到了這個。我的服務器上發現磁盤已滿。

冉: du -f

而結果是:

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 ID><Message>"特殊格式。如果各個Jira票據不存在或者在提交消息中有一些特殊符號,它(掛接)會拒絕提交。當我在提交消息中添加/,[,>等等時,我會遇到這個錯誤,並將其刪除。

+0

這個答案不太可能有所幫助,因爲原始的海報(以及任何未來訪問的其他人)將有一個配置爲預接收鉤子的不同腳本。 – aronisstav

0

這實際上是在BitBucket的服務器端啓用YACC時發生的。 YACC支持在提交消息中提及JIRA問題名稱。所以,只要你提交任何東西,至少要保留你的JIRA號碼到提交信息中,然後你可以添加你自己的信息。