2012-07-18 5 views
26

Sono un principiante git e sto avendo problemi cercando di ottenere l'ultima versione di un progetto a distanza:Git "in grado di determinare il percorso assoluto della directory git"

S:\dev\prj\myprj [master]> git pull 
/usr/libexec/git-core/git-sh-setup: line 266: cd: .git: No such file or directory 
Unable to determine absolute path of git directory 

Si stava lavorando bene fino ad oggi e stranamente Non penso di aver cambiato nulla da quando ha funzionato per l'ultima volta.

Questo è su Windows 7. Il mio progetto è su un disco criptato (S :) e git è in C:

S:\dev\prj\myprj [master]> git --exec-path  
C:\Users\matt\AppData\Local\GitHub\PortableGit_656cc1ef6d04f06ddf8b2f5bedbac921caed3b62/libexec/git-core 

fare manualmente un cd alla directory exec di cui sopra funziona bene (anche se ci sono tipi di barra mista).

Qualche idea su come iniziare a capire cosa è andato storto?

+0

ok, sembra che ci sia un po 'di confusione in corso qui. Avevo installato due GUI git e il PowerShell si stava confondendo tra i due. Ho disinstallato entrambi e quindi reinstallato uno di loro e sembra funzionare ora. –

+0

Installa msysgit e prova dalla sua shell se non l'hai ancora provato. –

+0

Esecuzione di Windows Server 2012 R2 su XenServer? [Potrebbe essere necessario rimuovere o aggiornare gli strumenti guest] [1]. [1]: http: // stackoverflow.it/a/21550808/939250 –

risposta

26

Trovato la soluzione/soluzione! Evviva!

Ero (e sono tuttora) utilizzando GitHub per Windows e occasionalmente mi chiede di andare a Windows PowerShell per correggere il repository perché a volte non può farlo automaticamente, e occasionalmente fallirebbe con il precedente messaggio di errore .

Il motivo per cui non funzionava era che il mio progetto fosse su un'unità crittografata ma, cosa più importante, che a volte avrei avviato GitHub per Windows prima di montare l'unità crittografata (che monto manualmente). Anche se chiudessi GitHub per Windows, poi montassi l'unità crittografata e riavviassi GitHub per Windows, sarebbe comunque tornato con l'errore sopra riportato, quindi forse non tutto GitHubby viene chiuso quando chiudo GitHub per Windows.

La soluzione per me è quello di:

  1. Reboot
  2. Monte unità contenente progetto
  3. lancio GitHub for Windows

... in questo ordine.

+1

nel mio caso, ho dovuto riavviare il PC – cinek

+1

sì, lo stesso qui. Riavviato risolve il problema. – Julian

5

Probabilmente si sta utilizzando PowerShell e un'unità di rete mappata. PowerShell "utilmente" annulla la mappatura, quindi la directory passata a Git è un percorso UNC che Git non capisce.

+1

Sto avendo lo stesso problema, e sto effettivamente usando Powershell. Comunque ho gettato da PowerShell per mesi senza problemi, e oggi 'git push' funziona ancora - è solo' git pull 'che non funziona. Wtf? – tenpn

+4

Una semplice soluzione alternativa consiste nel digitare semplicemente 'cmd' in PowerShell, fare 'git pull', quindi digitare 'exit' per tornare a PowerShell –

35

Killing the ssh-agent.exe processo funziona per me.
Nota: Si chiama sh.exe nelle versioni più recenti di SourceTree (grazie @cowlinator)

+1

Questo ha funzionato per noi dopo tutto il resto fallito. Grazie :) –

+3

Questo ha funzionato anche per me immettendo quanto segue in PowerShell: 'Stop-Process -processname ssh-agent *' seguito da 'git pull' –

+0

Grazie mille funziona! –

0

Se si utilizza SourceTree su Windows, provare Strumenti-> Opzioni -> Git -> Utilizzare il sistema Git

Problemi correlati