2016-01-28 14 views
25

Oggi alcuni giorni di github.com sono stati interrotti e di cui non ero a conoscenza finché non sono andato a spingere circa una dozzina di commit locali.Errore di sistema imprevisto dopo aver ricevuto la spinta

Ecco il messaggio che ho ricevuto quando si cerca di spingere per github.com:

remote: Unexpected system error after push was received. 
remote: These changes may not be reflected on github.com! 
remote: Your unique error code: abcdefghijklmnopqrstuvwxuz 

Ora che github.com è il backup, quando visualizzo il progetto registra la cronologia online, posso vedere che questa dozzina di commit non sono stati inseriti al repository.

Ho pensato che potrei semplicemente spingere questi cambiamenti di nuovo con git push origin master, ma mi è stato detto Everything up-to-date. Analogamente un git pull origin master mostra anche Everything up-to-date.

Come posso ottenere queste modifiche locali spinte al mio repo su github.com?

+0

Questo succede a me in questo momento :) – lmgonzalves

+0

E ora abbiamo un promemoria per sempre 'tira' prima di' push'. –

+0

Mi sono imbattuto in questo problema ieri, non importa quello che ho fatto, la cronologia dei commit online non è stata aggiornata (ho avuto sempre lo stesso errore). Ho provato ancora oggi e tutti i commit ora si presentano. –

risposta

11

Odio rispondere alla mia domanda così rapidamente, ma con un po 'di ritocchi, ecco un lavoro rapido giro ho scoperto:

echo "bar" >> foo.txt 
git add foo.txt 
git commit -m "Add foo.txt" 
git push origin master 
git rm foo.txt 
git commit -m "Remove foo.txt" 
git push origin master 

Questa aggiornate correttamente la storia impegnarsi per la mia github.com pronti contro termine. Questo dovrebbe essere sicuro di fare, ma sicuramente fare un backup del codice locale prima di provarlo.

+10

È possibile aggiungere un commit vuoto con '' 'git commit --allow-empty''' –

+2

Ho usato' git commit --amend' per creare un nuovo hash da inserire. Soluzione simile senza cambiare nulla. – fideloper

2

Ho appena avuto anche questo, e sì, spingendo un altro commit risolto il problema.

Penso che l'origine del problema potrebbe essere che stavo prelevando dallo stesso repo contemporaneamente (utilizzo i sottomoduli). Quel tiro ha reso tutto aggiornato, mentre la prima spinta era ancora sospesa (e alla fine sputava fuori quel messaggio di errore).

4

Il push di un altro commit per me non ha funzionato. Invece, la creazione di un ramo fittizio, dall'interfaccia web, ha risolto il problema.

+2

Ho appena avuto lo stesso problema e questa era la soluzione perfetta. Penso che questa dovrebbe essere la risposta accettata dal momento che non richiede il littering master con commit non necessari. –

+1

Ho appena avuto lo stesso problema e questo lo ha risolto. Deve essere un problema corrente. –

6

Sono d'accordo con Yen Chi, avrebbe dovuto fare una risposta. Almeno, fare un vuoto commettere:

git commit --allow-empty 
0
git commit --amend 
git push -f origin HEAD 

o se non ti piace che

git commit --allow-empty 
git push origin HEAD 
Problemi correlati