2011-12-08 97 views
7

我有一個遠程文件夾,我目前無法推送到。當我直接去遠程目錄和做一個「git的狀態」記載:git狀態返回「致命:不是git存儲庫」,但.git目錄存在

致命的:不是git倉庫

的git的文件夾不存在,這是昨天做工精細和此後沒有任何變化。

任何人都可以告訴我爲什麼我可能會收到此消息,即使.git文件夾存在的原因嗎?

在此先感謝您的幫助。非常感激!

+2

.git目錄缺少權限? – Rufinus

+0

如果不是@Rufinus建議的相當恰當,可能是文件系統損壞... – Romain

+0

什麼是你嘗試推送的味精? – havexz

回答

7

如果.git文件夾的權限沒問題,請查看是否存在文件.git/HEAD,或者沒有錯誤地命名爲.git/head.git/HEAD(或裸頭情況下的HEAD)的存在是對git存儲庫的第二次檢查

+2

如果'.git/HEAD'存在,但仍然出現此錯誤,請確保'.git/HEAD'的*內容*指向有效的引用。如果git無法解析內容,它也會輸出存儲庫無效。 – koppor

+2

什麼是.git/HEAD不存在? (在我的情況下只有.git/ORIG_HEAD存在),並且與OP有同樣的問題。 –

+0

@SeanAhrens我有一個損壞的HEAD文件和一個很好的ORIG_HEAD文件。複製後者修復了我的問題,並讓我回到了正確的狀態。您可以運行'git reflog'來查看剛剛完成的最近HEAD位置,以防您需要重置爲其他提交。 –

1

將遠程存儲庫克隆到另一個文件夾中,並比較.git文件夾。

+0

通過這樣的測試,'objects'文件夾中的差異不一定是個問題。 –

+0

正確,但在其他文件夾和文件中可能表明問題是什麼 – yorammi

相關問題