2013-03-13 8 views
121

Sto usando Github di Windows 1.0.38.1 e quando clicco sul pulsante 'Sync' dopo aver commesso, ottengo l'erroreGithub Windows 'non riuscita per sincronizzare questo ramo'

enter image description here

Come si effettua il debug questo problema? Se nella shell, cosa dovrei fare?

La sincronizzazione funziona correttamente se faccio un git push o git pull, ma la prossima volta che desidero eseguire la sincronizzazione utilizzando GitHub, ottengo lo stesso errore.

+1

Per me è stato perché avevo dimenticato di rimuovere un file molto grande dal commit. Github ha una dimensione massima del file e io ci ho pensato. – pmcilreavy

+5

Mi piace il modo in cui ci sono così tante risposte, ognuna delle quali avrebbe potuto essere corretta in questo caso, ma nessuna di esse lo è. Questo è Git per te. –

+1

Questo errore può verificarsi perché non si è connessi a Internet. Un po 'ovvio ma ... ehi. – levininja

risposta

109

Quando si dice che, basta aprire la shell e fare git status. Questo ti darà un'idea decente di cosa potrebbe essere sbagliato e dello stato del tuo repository.

Non posso dare un errore specifico per questo, come accade per molte ragioni in Github per Windows, come dire qualche problema in sottomoduli aggiornamento ecc

+3

Grazie! Come novizio quando si tratta di Git e GitHub che hanno avuto lo stesso problema del richiedente domanda originale, questo è stato molto utile :) Ottima risposta! – Dyndrilliac

+5

'git stash' ha aiutato. Spero di andare avanti con GIT qualche volta. – ivkremer

+0

Ho riavviato il mio GitHub e ha risolto il problema! È successo dopo che ho avuto alcuni conflitti da unire. –

2

Questo è probabilmente un caso limite, ma ogni volta che Questo errore specifico è dovuto al fatto che recentemente ho mappato un'unità in Windows e che powershell non riesce a trovarlo.

Un riavvio del computer (di tutte le cose) risolve l'errore per me, poiché powershell può ora prelevare l'unità appena mappata. Assicurati di connetterti all'unità mappata PRIMA di aprire il client github.

+0

Lo stesso qui. Riavviato e poi ha funzionato bene * alza le spalle * – shieldgenerator7

+0

OMG! Mi sono appena trasferito in un nuovo spazio ufficio e le mie unità mappate non funzionavano più. Ma non avevano * niente * da fare con git o le mie cartelle di lavoro. Ho semplicemente rimosso i mapping e GitHub Desktop ha iniziato a funzionare. Questo * ha * per essere un bug dal momento che non dovrebbe nemmeno guardare quelle unità mappate? – DeborahK

16

Questo errore deriva da un conflitto di unione nei file. L'ho affrontato dopo aver aggiornato il mio pom.xml del Progetto Maven, ma non l'ho mai eseguito. Utilizzando

git status 
error: Your local changes to the following files would be overwritten by merge: 
<my project>/pom.xml 
Please, commit your changes or stash them before you can merge. 
Aborting 

come il post di cui sopra ha suggerito contribuito a trovare eventuali modifiche in conflitto e si può decidere di scartare o commettere.

+0

Ho riavviato il mio GitHub e ha risolto il problema! È successo dopo che ho avuto alcuni conflitti da unire. –

4

Ho avuto questo problema e ho scoperto che aveva a che fare con il proxy. Ho risolto il problema utilizzando questo comando:

git config --global http.proxy %HTTP_PROXY% 
2

Ho avuto lo stesso problema. Nel mio caso git non ha trovato la variabile globale %HTTP_PROXY%, semplicemente perché Windows non lo stava fornendo/usando.

ho risolto escludendo la variabile dal file di configurazione git (che si trova in %USERPROFILE%\.gitconfig):

[http] 
# proxy = %HTTP_PROXY% 
10

Ho avuto lo stesso problema. È successo a me a causa di alcuni cambiamenti in conflitto. Ho rimosso il repository locale del mio progetto dal mio desktop e poi lo ho clonato di nuovo dal sito web di Github (usando l'opzione clone nel mio account), l'errore era sparito.

+0

Questo ha funzionato per me – Jeremy

1

Questo errore si verifica anche se il ramo che si sta tentando di sincronizzare è stato eliminato.

git status non lo dirà, ma riceverai un messaggio "no tale ref" se provi git pull.

2

Hai cambiato la password di Windows di recente o almeno quella che usi per connettersi al tuo proxy?

Questo era il mio problema e git status non poteva aiutarmi. Ho dovuto modificare le credenziali di accesso nel file ".git/config" per superare questo errore.

+0

Ho ricevuto l'errore da questo. Seriamente, dovrebbero semplicemente rendere questa cosa correttamente in grado di riconoscere il proxy nell'interfaccia utente e richiedere un nuovo nome utente e una nuova password. O anche NTLM se si sentono (leggermente) fantasiosi. –

0

controllo "git status" e "git pull" nel guscio e scoprire che cosa c'è che non va. e il mio problema è il nodo http.proxy in config, quindi Github Windows dovrebbe essere molto più intelligente come se fosse la shell della shell e dare più suggerimenti dopo l'errore (s) emettere.

0

Lungo le linee delle risposte del proxy HTTP, ciò può anche avvenire a causa di una connessione VPN. La disconnessione della mia connessione VPN l'ha risolto per me.

3

Ho avuto lo stesso problema quando ho provato da Visual Studio e "git status" nella shell non ha mostrato alcun problema. Ma sono riuscito a spingere le modifiche locali con "git push" tramite shell.

+0

Come rovsen dice di aggiungere un po 'di colore a quelli bloccati: Se GitHub per Windows si blocca ma in Git Shell vedi tutto verde e questo messaggio 'git status' *" Il tuo ramo è più avanti di' origine/master 'di 1 commit. usa "git push" per pubblicare i tuoi commit locali) ". * L'inserimento di' git push' ha risolto questo problema per me. Ho riavviato GitHub per Windows e la sincronizzazione ha funzionato finalmente! – micstr

1

Un'altra cosa che può causare ciò è quando si mappa un'unità di rete o si collega un VHD dopo che GitHub Desktop è già stato avviato. Il motivo è che GitHub Desktop utilizza ssh-agent dall'installazione GIT portatile per stabilire connessioni e non chiuderlo mai ... anche se si disinstalla l'applicazione. Il processo inizia senza conoscere la nuova unità e non si aggiorna mai, e quando viene utilizzato per eseguire i comandi GIT per funzionare sul repository non riesce perché non capisce i percorsi.

La soluzione in questo caso è chiudere GitHub Desktop e utilizzare Task Manager per terminare ssh-agent in esecuzione prima di avviarlo nuovamente. Verrà avviata una nuova istanza di ssh-agent, quando necessario, che prenderà il nuovo mapping di unità, ecc

0

Ho avuto lo stesso problema, e "git status" ha anche mostrato nessun problema, poi ho riavviato la santo client GitHub per Windows e ha funzionato come fascino.

1

Assicurarsi che il ramo a cui si sta provando a premere non sia protetto. Stavo cercando di spingere verso un ramo protetto e ho fallito come te.

0

Ho avuto lo stesso problema. Ho rimosso il repository dal client Windows GitHub (menu di scelta rapida) e lo ho aggiunto nuovamente. Quando ho riaggiunto, ho notato che avevo circa 300 modifiche senza commit e che riportava un errore di memoria. Ho scartato tutte le modifiche e quindi la sincronizzazione ha iniziato a funzionare di nuovo bene. (Utente Rookie Git: sono sicuro che ci sono modi migliori per farlo nella riga di comando)

0

Il registro di debug può fornire alcune informazioni. Sto usando v3.3.4.0, la tua esperienza potrebbe essere diversa ma dovrebbe essere simile. Dal menu delle impostazioni, scegli "Informazioni su Github Desktop ...". Fare clic sul collegamento per visualizzare il registro di debug. Nel mio caso si è verificato un errore molto chiaro:

*** errore fatale - rilevata disallineamento base cygheap - 0x1157408/0x1167408. Probabilmente questo problema è dovuto all'utilizzo di versioni incompatibili della DLL cygwin.

Forniva anche alcuni suggerimenti utili per risolvere il problema.

Non sono sicuro del motivo per cui questa informazione non è stata visualizzata nel prompt di errore, ma almeno era disponibile.

0

Ho provato con Android Studio a commutare le modifiche e spingerlo a master Ma finestra ha mostrato un popup che devo inserire Github Credentials (https://github.com). Ho fatto la registrazione con il mio account Gmail Così ho provato a inserire il mio ID Gmail insieme alla sua password, ovviamente Git non ha la mia password Gmail e non può abbinarla a quello che sto fornendo, così ho finito per cancellare la spinta.
Quando ho provato a sincronizzare le mie modifiche tramite la finestra GitHub della GUI, ho riscontrato questo errore.Su git status comando Git Shell ha suggerito a spingere modifiche

Your branch is ahead of 'origin/master' by 1 commit. 
    (use "git push" to publish your local commits) 

ho lo stesso di Git Shell suggerito (git push) e tutto è ok ora.

Nota: per chi è nuovo a git è necessario modificare il percorso della cartella in cui il file è .git altrimenti su ogni comando si entra Git Shell mostrerà errore che il suo non è un repository git.

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

Ad esempio se il vostro progetto è in D unità in qualche cartella che devi fare qualcosa di simile qui di seguito come si fa in cmd per cambiare directory.

cd D:\someFolder  // if your project is not deep in `D` 

E se all'interno di cartelle annidate in D

cd D:\somefolder\someNestedFolder\nestedInNested  // if your project is not deep in `D` 

Se qualcuno sa come accedere in Github popup dalle finestre come ho fatto l'iscrizione con l'account Google e qui ci sono 2 campi solo Github nome utente , password Per favore fatemi sapere. Ho risolto il problema ma ho perso del tempo, quindi voglio sapere anche il login.

Problemi correlati