2012-12-05 93 views
6

使用Windows 7,我們在網絡驅動器上建立了一個裸露的GIT存儲庫,以便多個用戶可以從中取出/推送。我能夠在本地和多個其他網絡驅動器上創建新的工作回購。但是,當我嘗試克隆相同網絡驅動器(不同的文件夾)上的新工作存儲庫時,它會失敗。無法在網絡驅動器上克隆GIT存儲庫

使用TortoiseGIT後,我右鍵單擊並選擇「GIT克隆」,將所有必要的路徑放入我的裸回購(新工作回購已填充)並點擊確定,出現以下錯誤:

Cloning into 'R:\path\to\new\repo'... done. 
error: refs/remotes/origin/master does not point to a valid object! 
error: Trying to write ref refs/heads/master with nonexistent object 5d2164db2c61efc7a5598f6ff75ed3fbbb12456e 
fatal: Cannot update the ref 'HEAD'. 
fatal: The remote end hung up unexpectedly git did not exit cleanly (exit code 128) 

並且它無法創建回購。但它確實建立了新文件夾&「.git」子文件夾結構。

這不是一個r/w權限問題,因爲我可以r/w任何其他文件,但似乎無法創建這個新克隆的回購。我的同事也不能。即使我到了網絡驅動器上的另一個文件夾,我仍然無法成功克隆回購。令人驚訝的是,如果我只是複製/粘貼在另一個位置創建的回購站,那麼手動執行「拉」操作,它可以正常工作併成功更新。

關於接下來要做什麼的任何想法?很明顯,我谷歌搜索「退出代碼128」和「無法更新裁判'頭'」,但無法找到解決我的問題。這也可能是很簡單的東西是我們忽略的,但我們纔剛剛開始使用Git,這是真正導致我們頭疼......

更新:我注意到,當我做手工拉從GIT到我的「副本」,它正在做一個快進。也許這提供了一些額外的線索?

From R:/path/to/repo 
* branch   master  -> FETCH_HEAD 
Updating 5d2164d..d75bdb7 
Fast-forward 
Files.py | 3 +++ 
1 file changed, 3 insertions(+) 
Success 
+0

這看起來像是您試圖克隆的回購已損壞。在錯誤信息中給出的ref ID怎麼樣?它是否是正確的HEAD,它存在嗎? – Chronial

+0

@Chronial,我將如何識別頭部中的ref ID是否正確?就像我說的,我對這個真的很陌生。謝謝你的建議! – RyanDalton

+0

在主repo中運行'git log 5d2164db2c61efc7a5598f6ff75ed3fbbb12456e'並查看它是否失敗。但是如果你可以將它克隆到另一個目錄,那可能是正確的。 – Chronial

回答

0

請msysgit通過命令行執行此

git clone /r/path/to/my/repo /r/some/other/path 

此外,我會建議使用Git命令行,因爲它是被設計爲在命令行中使用的工具。您將能夠找到更多的幫助,更快速地解決您遇到的任何問題。

+0

這與TortoiseGIT運行的命令行相同。返回的錯誤消息(如我的原始問題所示)完全相同。它不能解決「不存在的對象」的固有問題。 – RyanDalton

+0

有趣。如何使用file:///協議而不是路徑?你只能用它來代替第一個路徑。 –

4

Git可能會試圖做一些聰明的東西,硬鏈接在網絡驅動器上失敗。嘗試使用git clone --no-hardlinks /r/path/to/my/repogit clone file:///r/path/to/my/repo

+0

謝謝。這對我來說固定的東西。 – Yann