2010-09-10 6 views
14

Quello che sto cercando di fare è un clone git su Windows, ma il repository principale esiste in una macchina Unix.errore: git checkout-index: impossibile creare il file

Sto clonando usando ssh per ottenere un clone da UNIX a Windows, e ottengo questo strano errore.

error: git checkout-index: unable to create file <filename> 

Questo succede durante il checkout di un clone git.

Qualcuno può aiutarmi?

+1

Ho affrontato lo stesso problema durante la clonazione di linux-next tree sulla macchina Windows. Dà errore: "errore: impossibile creare i driver di file/gpu/drm/nouveau/core/subdev/i2c/aux.c (Nessun file o directory di questo tipo)" Non so ancora il motivo per cui fallisce e ogni volta lo stesso file. – Adil

+0

Vedere anche http://stackoverflow.com/questions/14811991/git-checkout-error-unable-to-create-file. – Vacilando

risposta

2

Un problema comune sono due file i cui nomi sono diversi solo in base al caso: git presuppone un distinzione tra maiuscole e minuscole. Se il repository contiene sia FOO e foo, il tentativo di crearne uno dopo l'altro avrà esito negativo.

7

era la directory di più i nomi dei file troppo lungo per Windows? Mi sono imbattuto in questo problema una volta, ed è stato risolto quando ho provato a clonare in una directory inferiore.

+0

Mi sono imbattuto nello stesso problema prima di dove la lunghezza dell'indirizzo in windows era maggiore di 256 o qualcosa del genere, ma ora questo errore si presenta per molti file che non sono troppo profondi. Grazie per i suggerimenti ... Altre cause? –

+0

@Senthil: Potrebbe essere la lunghezza del singolo nome file stesso? Non sarei sorpreso se la lunghezza dei nomi dei file individuali potesse avere un limite inferiore a quello. –

24

La risposta dovrebbe essere: non possiamo creare un file chiamato aux.c in windows!

Vedi http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx Non utilizzare i seguenti nomi dei dispositivi riservati per il nome di un file: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, ​​COM5, COM6, COM7, COM8, COM9, LPT1 , LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8 e LPT9. Evita anche questi nomi seguiti immediatamente da un'estensione; ad esempio, NUL.txt non è raccomandato. Per ulteriori informazioni, vedere Namespace.

+0

Bene [posso] (https://www.dropbox.com/s/sc4l7d77087p4k9/waux.png?dl=1) perché git non può, mi chiedo? –

+0

Questo ha funzionato per me. ribattezzato con.js ed era bello andare! Grazie! – drj

+0

@zespri probabilmente perché git per windows utilizza alcune API di Windows che filtra tali nomi di file. 'touch aux.c' in git bash funziona, per esempio. Ma la creazione di tale file in 'explorer' genera un errore. – andrybak