Github Windows "Impossibile sincronizzare questo ramo"


124

Sto usando Github Windows 1.0.38.1 e quando faccio clic sul pulsante "Sincronizza" dopo aver eseguito il commit, visualizzo l'errore

inserisci qui la descrizione dell'immagine

Come posso eseguire il debug di questo problema? Se nella shell, cosa dovrei fare?

La sincronizzazione funziona bene se faccio un git pusho git pull, ma la prossima volta che voglio sincronizzare usando Windows 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 sono passato.
pmcilreavy,

5
Adoro 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.
15ee8f99-57ff-4f92-890c-b56153

1
Questo errore può verificarsi perché non sei connesso a Internet. Un po 'ovvio ma ... ehi.
levininja,

1
Abbiamo riscontrato problemi con Internet in ufficio e questo si è verificato. Il git shell ha comunque funzionato.
Frank Cannon,

Risposte:


113

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

Non posso darti un errore specifico per questo in quanto accade per molte ragioni in Github per Windows, come dire qualche problema nell'aggiornamento dei sottomoduli ecc.


3
Grazie! Come principiante quando si tratta di git e GitHub che hanno avuto lo stesso problema della domanda originale, questo è stato molto utile :) Ottima risposta!
Dyndrilliac,

5
git stashaiutato. Spero che andrò d'accordo con GIT qualche volta.
Ivkremer,

Ho riavviato GitHub e ho risolto il problema! È successo dopo che ho avuto alcuni conflitti da unire.
Rafael Fernandes,

1
Ho lo stesso problema, tuttavia sto usando un'unità mappata. Con questa risposta ora mi impegno con GitHub Desktop e git pushtramite Git.
zanderwar,

@manojlds che dire di quando lo stato git dice solo che il tuo ramo è aggiornato, niente da impegnare, directory di lavoro pulita?
levininja,

16

Questo errore si verifica a causa di un conflitto di unione nei file. L'ho affrontato dopo aver aggiornato il pom.xml del mio progetto Maven ma non l'ho commesso. 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 sopra suggerito ha aiutato a trovare eventuali modifiche contrastanti e puoi decidere di scartare o impegnare.


Ho riavviato GitHub e ho risolto il problema! È successo dopo che ho avuto alcuni conflitti da unire.
Rafael Fernandes,

11

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


5

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.


Come dice rovsen per aggiungere un po 'di colore a quelli bloccati: se GitHub per Windows si arresta in modo anomalo ma in Git Shell vedi tutto verde e questo git statusmessaggio "Il tuo ramo è davanti a' origin / master 'di 1 commit. (Usa" git push "per pubblica i tuoi commit locali) ". L'ingresso ha git pushrisolto questo problema per me. Ho riavviato GitHub per Windows e la sincronizzazione ha finalmente funzionato!
micstr,

4

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

 git config --global http.proxy %HTTP_PROXY%

2

Questo è probabilmente un caso limite, ma ogni volta che ho questo errore specifico è perché ho recentemente mappato un'unità in Windows e powershellnon riesco a trovarla.

Un riavvio del computer (di tutte le cose) risolve l'errore per me, come powershellora posso prendere l'unità appena mappata. Assicurati solo di connetterti all'unità mappata PRIMA di aprire il client github.


Anch'io. Riavviato e poi ha funzionato bene
scrollate di

OH MIO DIO! Mi sono appena trasferito in un nuovo ufficio e le mie unità mappate non funzionavano più. Ma non avevano niente a che fare con git o le mie cartelle di lavoro. Ho semplicemente rimosso le mappature e poi GitHub Desktop ha iniziato a funzionare. Questo deve essere un bug poiché non dovrebbe nemmeno guardare quelle unità mappate?
DeborahK,

2

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

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

[http]
#   proxy = %HTTP_PROXY%

2

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

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


Ho ottenuto l'errore da questo. Scherzi a parte, dovrebbero semplicemente rendere questa cosa correttamente proxy proxy nell'interfaccia utente e richiedere un nuovo nome utente e password. O anche NTLM se si sentono (leggermente) fantasiosi.
Rob Grant,

1

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

git statusnon te lo dirò, ma riceverai un messaggio "nessun riferimento è stato recuperato" se provi git pull.


1

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

La soluzione in questo caso è chiudere GitHub Desktop e utilizzare Task Manager per terminare l'agente ssh in esecuzione prima di avviarlo nuovamente. Questo avvierà una nuova istanza di ssh-agent quando necessario che prenderà i nuovi mapping delle unità, ecc.


1

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


0

controlla " git status " e " git pull " nella shell e scopri cosa c'è che non va. e il mio problema è il nodo http.proxy in config, quindi Github Windows dovrebbe essere molto più intelligente come semplicemente pop la shell e dare più suggerimenti dopo l'emissione dell'errore.


0

Sulla falsariga delle risposte del proxy HTTP, ciò può accadere anche a causa di una connessione VPN. Disconnessione della mia connessione VPN risolto per me.


0

Ho avuto lo stesso problema e anche "git status" non ha mostrato alcun problema, quindi ho appena riavviato il client GitHub santo per Windows e ha funzionato come un fascino.


0

Ho avuto lo stesso problema. Ho rimosso il repository dal client GitHub Windows (menu di scelta rapida) e l'ho aggiunto di nuovo. Quando ho aggiunto di nuovo, ho notato che avevo circa 300 modifiche senza commit e stava segnalando un errore di memoria. Ho ignorato tutte le modifiche e quindi la sincronizzazione ha ripreso a funzionare correttamente. (Utente Rookie Git - Sono sicuro che ci sono modi migliori per farlo dalla 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, selezionare "Informazioni su Github Desktop ...". Fare clic sul collegamento per visualizzare il registro di debug. Nel mio caso si è verificato un errore molto chiaro:

*** errore irreversibile - rilevata mancata corrispondenza della base cygheap - 0x1157408 / 0x1167408. Questo problema è probabilmente dovuto all'utilizzo di versioni incompatibili della DLL cygwin.

Ha anche fornito alcuni suggerimenti utili per risolvere il problema.

Non sono sicuro del motivo per cui queste informazioni non sono esposte nella richiesta di errore, ma almeno erano disponibili.


0

Ho provato con Android Studio a eseguire il commit delle modifiche e a spingerlo verso il master, ma Window ha mostrato un popup in cui devo inserire le credenziali di Github ( https://github.com ). Ho effettuato la registrazione con il mio account Gmail, quindi ho cercato di inserire il mio ID Gmail insieme alla sua password, ovviamente Git non ha la mia password Gmail e non può corrispondere a ciò che sto fornendo, quindi ho finito per annullare il push.
Quando ho provato a sincronizzare le mie modifiche tramite la finestra della GUI di GitHub ho riscontrato questo errore. A git statuscomando Git Shell ha suggerito di inviare modifiche come

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

Ho fatto lo stesso suggerito da Git Shell ( git push) e ora è tutto a posto.

Nota: per chi è nuovo a git devi cambiare il tuo percorso nella cartella in cui il tuo file .git è altrimenti su Ogni comando che inserisci Git Shell mostrerà un errore che non è un repository git.

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

Ad esempio, se il tuo Progetto è in Dunità in qualche cartella, devi fare qualcosa come sotto come fai cmdper cambiare directory.

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

E se si trova nella cartella nidificata in D

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

Se qualcuno sa come accedere a Github popup da Windows come ho fatto con l'account google e qui ci sono 2 campi solo nome utente Github, password Per favore fatemi sapere. Ho risolto il problema ma con una perdita di tempo, quindi voglio sapere anche del login.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.