La poussée de Git a échoué, “les mises à jour sans transfert rapide ont été rejetées”

J’ai édité mes repositorys GIT via Git Online. Après avoir essayé de pousser mes modifications de code local, j’ai reçu une erreur:

Git push failed, To prevent from losing history, non-fast forward updates were rejected. 

Comment puis-je réparer cela?

Tirez d’abord sur les changements:

 git pull origin branch_name 

Ajoutez –force à votre ligne de commande si vous êtes sûr de vouloir pousser. Par exemple, utilisez git push origin --force (je recommande la ligne de commande car vous trouverez beaucoup plus de soutien de la part des autres utilisateurs avec la ligne de commande. Cela peut également ne pas être possible avec SmartGit.) Consultez ce site pour plus d’informations: http: // help.github.com/remotes/

Avant de pousser, effectuez un tirage git avec l’option rebase. Cela vous permettra d’obtenir les modifications que vous avez effectuées en ligne (dans votre origine) et de les appliquer localement, puis d’append vos modifications locales par-dessus.

 git pull --rebase 

Maintenant, vous pouvez pousser à distance

 git push 

Pour plus d’informations, jetez un coup d’œil à Gase rebase expliqué et au chapitre 3.6 Git Branching – Rebasing .

J’ai rencontré la même erreur, il suffit d’append “–force” à la commande, ça marche

 git push origin master --force 

J’ai eu le même problème.
La raison en était que ma succursale locale avait en quelque sorte perdu le suivi de son homologue distant.

Après

 git branch branch_name --set-upstream-to=origin/branch_name git pull 

et résoudre les conflits de fusion, j’ai pu pousser.

Vous pouvez append –force-with-lease à la commande, cela fonctionnera.

 git push --force-with-lease 

–force est destructeur car il écrase inconditionnellement le référentiel distant avec ce que vous avez localement. Mais – forcer-avec-bail, assurez-vous de ne pas écraser le travail des autres.

Voir plus d’infos ici .

(One) Solution pour Netbeans 7.1: essayez de tirer. Cela va probablement aussi échouer. Maintenant, regardez dans les journaux (ils sont généralement affichés dans l’EDI). Il y a une ligne plus:

“Pull échoué à cause de ce fichier:”

Recherchez ce fichier, supprimez-le (effectuez une sauvegarde avant). C’est généralement un fichier .gitignore, vous ne supprimerez donc pas le code. Refaire la poussée. Tout devrait bien fonctionner maintenant.

J’ai eu le même problème. J’ai résolu avec

 git checkout  git pull origin  git push origin  

C’est ce qui a fonctionné pour moi. On peut le trouver dans la documentation de git ici

Si vous êtes sur votre twig désirée, vous pouvez le faire:

 git fetch origin # Fetches updates made to an online repository git merge origin YOUR_BRANCH_NAME # Merges updates made online with your local work 

Rencontré le même problème, pour le résoudre, lancez les commandes git suivantes.

  • git pull {url} --rebase
  • git push --set-upstream {url} master

Vous devez d’abord créer le référentiel sur github.

Parfois, tout en tirant de votre git, la tête se détache. Vous pouvez le vérifier en entrant la commande:

 git branch 
  • (HEAD détaché de 8790704)

    maîsortingser

    développer

Il est préférable de déménager dans votre succursale et de tirer un nouveau parti de votre twig respective.

 git checkout develop git pull origin develop git push origin develop