Che cosa significa “Git push non-forward-forward gli aggiornamenti sono stati respinti” significa?

Sto usando Git per gestire i miei due computer e il mio sviluppo. Sto cercando di commettere modifiche a GitHub e sto ricevendo l’errore.

Imansible inviare alcuni riferimenti a . Per evitare di perdere la cronologia, gli aggiornamenti non rapidi sono stati rifiutati. Unisci le modifiche remote prima di premere nuovamente.

Cosa potrebbe causare questo e come posso risolvere questo?

MODIFICARE:

Tirando il repo restituisce il seguente:

* master di ramo-> master (non-avanti veloce) già aggiornato

Spingere ancora mi dà l’errore di cui sopra.

GitHub ha una bella sezione chiamata ” Gestire” errori ” fast-forward ”

All’inizio questo errore può essere un po ‘opprimente, non temere.
In poche parole, git non può effettuare il cambiamento sul telecomando senza perdere i commit, quindi rifiuta la spinta .
Di solito questo è causato da un altro utente che spinge allo stesso ramo. Puoi rimediare recuperando e unendo il ramo remoto, oppure usando pull per eseguire entrambi contemporaneamente.

In altri casi questo errore è il risultato di modifiche distruttive apportate localmente usando comandi come git commit --amend o git rebase .
Mentre puoi eseguire l’override del telecomando aggiungendo --force al comando push , dovresti farlo solo se sei assolutamente certo che questo è ciò che vuoi fare.
I push forzati possono causare problemi ad altri utenti che hanno recuperato il ramo remoto ed è considerato una ctriggers pratica. In caso di dubbio, non forzare la spinta .


Git non può apportare modifiche al telecomando come una fusione veloce, che un Visual Git Reference illustra come:

alt text

Questo non è esattamente il tuo caso, ma aiuta a vedere quale “avanzamento veloce” è (dove l’ HEAD di un ramo viene semplicemente spostato su un nuovo commit più recente).


Il ” branch master->master (non-fast-forward) Already-up-to-date ” è in genere per i rami locali che non tracciano la controparte remota.
Si veda ad esempio questa domanda SO ” git pull dice up-to-date ma git push rifiuta l’avanzamento non veloce “.
O i due rami sono collegati, ma in disaccordo con la loro storia rispettiva:
Vedi ” Storia del GIT senza fine – cosa sto facendo di sbagliato qui? ”

Ciò significa che il tuo ramo di subversion e il tuo ramo principale di git remoto non sono d’accordo su qualcosa.
Qualche cambiamento è stato spinto / impegnato in uno che non è nell’altro.
gitk --all , e dovrebbe darti un indizio su cosa è andato storto: cerca “forchette” nella storia.

Significa che ci sono stati altri commit verso il repository remoto che differiscono dai tuoi commit. Di solito puoi risolvere questo problema con a

 git pull 

prima di spingere

In definitiva, “avanti veloce” significa che i commit possono essere applicati direttamente sopra l’albero di lavoro senza richiedere un’unione.

Un aggiornamento rapido è il punto in cui le uniche modifiche su un lato si trovano dopo il commit più recente sull’altro lato, quindi non è necessario effettuare alcuna fusione. Questo sta dicendo che è necessario unire le modifiche prima di poter spingere.

in questo caso potresti voler utilizzare la forza con l’operazione push

git push origin master –force