2012-09-10 47 views
5

我有一個主分支和當前開發(本地工作副本)的開發分支。我需要將來自主設備的更改合併到我的開發分支上。合併之前,我跑git的藏匿處,發現了以下錯誤:github工作流 - 致命:不是git倉庫(或任何父目錄):.git

fatal: Not a git repository (or any of the parent directories): .git

爲了調查這個錯誤我跑以下命令: git status git branch git remote -v。所有產生相同的錯誤fatal: Not a git repository (or any of the parent directories): .git

我也試過我的分支git remote set-url origin https://github.com/Connexions/oer.exports.git產生相同的結果的原點重置:fatal: Not a git repository (or any of the parent directories): .git

我不能承諾從我的本地工作目錄中的任何改變要麼到我的Dev分支。

有沒有人有任何建議如何解決此問題。

+0

確保你的當前目錄有一個'.git'文件夾? – Whymarrh

+0

什麼在這個目錄中顯示'$ ls .git'? –

+0

我決定做我的分支的備份,reclone,拉動分支並粘貼文件。這解決了我的問題。謝謝。 –

回答

2

獲取該錯誤消息的一種方法是以某種方式而不是在git repo工作樹中。
以「After git clone I get a 「 fatal: Not a git repository (or any of the parent directories): .git 」 error」爲例。

這也可能是因爲GIT_WORK_TREE環境變量被設置爲錯誤的路徑。
或者是使用Git回購像rvm看到包裝(見this thread例如)

在這兩種情況下,在一個新的克隆復位的情況(你做的)通常是修復情況的好方法。

13

檢查以下文件:

  • your_repo_dir/.git/HEAD

如果該內容似乎已損壞,這是問題。我有類似的問題,我通過用所選分支的最後一次提交的git commit散列替換HEAD文件的內容來修復它。

提交哈希值可能下.git/logs/refs/heads and branch_name_file

我希望它可以幫助找到。

+0

這是我遇到這個問題時的解決方案。 HEAD文件已經消失。 –

+0

這也適用於我們的情況。我們的代碼目錄是通過samba從VirtualBox guest掛載到mac上的,並且經常在從睡眠中醒來後出現此錯誤。 .git/HEAD是空的,用合法修復它可以修復問題。還有一個必須刪除的剩餘的.git/index.lock。 – apinstein

3

我在使用visual studio git插件出現問題後出現此錯誤。

解決的辦法是重新命名my_repo_dir/.git/HEAD.lockmy_repo_dir/.git/HEAD

看起來鎖定頭文件之後喜歡的東西,並墜毀,造成回購。

2

我嘗試將分支推送到遠程Visual Studio後出現同樣的問題。在檢查其內容後,我將.git/HEAD.lock重命名爲.git/HEAD。現在它工作正常。

相關問題