git checkout tag




Git: non è riuscito a spingere alcuni refs anche se ho fatto git pull (5)

Ho iniziato a ricevere l'errore "Impossibile inviare alcuni errori" quando ho modificato alcuni file e ho provato a fare push. La maggior parte delle istruzioni dice di fare prima il lancio di git. L'ho fatto e git dice che tutto è aggiornato. Qualche idea su come risolvere l'errore? Ho anche iniziato a ricevere il messaggio "nessuna informazione sulla versione disponibile", non so che abbia qualcosa a che fare con l'errore.

git push origin master
git: /usr/local/lib/libz.so.1: no version information available (required by git)
Enter passphrase for key '/root/.ssh/id_rsa': 
To [email protected][mydomain].beanstalkapp.com:/repo-git.git
! [rejected]        master -> master (non-fast forward)
error: failed to push some refs to '[email protected][mydomain].beanstalkapp.com:/repo-git.git'

Assicurati che il tuo ramo non sia protetto, o che lo sviluppatore possa spingere sia controllato.


Assicurati di verificare che la trazione abbia funzionato. È possibile che l'unione (che fa parte di un pull) non sia riuscita.

Quando ho avuto questo messaggio di errore non sono riuscito a notare la mancata trazione. Il pull non è riuscito a causa di alcune modifiche non vincolanti del file (non correlate ai file che stavo cercando di inviare) che hanno causato il fallimento dell'unione. Ho ripristinato le modifiche ai file (perché non erano importanti) e poi ho fatto di nuovo un pull. Dopo il successo, la spinta ha funzionato.


L'errore è che qualcun altro ha inserito il ramo master e si sovrascriverà la modifica se git ti ha permesso di eseguire il push (questo è l'errore di non-fast forward ). Quindi è necessario unire il ramo master locale con il ramo master remoto.

Questo può succedere se hai fatto il git pull mentre il ramo locale non era il ramo master . Se vuoi solo spingere il ramo su cui stai lavorando e non il ramo master , devi dirlo a git usando il modulo completo di git-push :

$ git push remote local-branch:remote-branch

La migliore risposta possibile è su Git help here

Gestione degli errori non di avanzamento rapido

Di tanto in tanto, è possibile che si verifichi questo errore durante il push di commit ( git push origin master ) su GitHub:

To https://github.com/user/repo.git  
 ! [rejected]        master -> master (non-fast-forward)  
error: failed to push some refs to 'https://github.com/user/repo.git'  
To prevent you from losing history, non-fast-forward updates were rejected  
Merge the remote changes (e.g. 'git pull') before pushing again.  
See the  'Note about fast-forwards' section of 'git push --help' for details.

All'inizio questo errore può essere un po 'travolgente; non avere paura!

In parole semplici, Git non può apportare modifiche al 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:

git fetch origin
git merge origin master

Oppure, puoi semplicemente usare git pull per eseguire entrambi i comandi contemporaneamente:

git pull origin master

In alcuni casi, questo errore è il risultato di modifiche distruttive apportate localmente mediante comandi come git commit --amend o git rebase . Mentre è possibile sovrascrivere il telecomando aggiungendo --force al comando push, è necessario farlo solo se si è assolutamente certi che questo è ciò che si vuole fare. I push forzati possono causare problemi ad altri utenti che hanno recuperato il ramo remoto ed è considerato una cattiva pratica. In caso di dubbio, non forzare la spinta.


1) git stash 
2) git pull
3) git push

Il mio errore originale:

Dopo "git stash"





git