Que signifie «les mises à jour sans accélération Git push ont été rejetées»?

J’utilise Git pour gérer mes deux ordinateurs et mon développement. J’essaie de commettre des modifications sur GitHub et je reçois l’erreur.

Impossible de pousser des références sur . Pour vous éviter de perdre l’historique, les mises à jour non rapides ont été rejetées. Fusionnez les modifications à distance avant de pousser à nouveau.

Qu’est-ce qui pourrait causer cela et comment puis-je résoudre ce problème?

MODIFIER:

Tirer le repo renvoie les éléments suivants:

* twig maître-> maître (avance rapide) Déjà à jour

Pousser me donne toujours l’erreur susmentionnée.

GitHub a une belle section intitulée ” Traiter les erreurs ” sans accélération rapide ” ”

Cette erreur peut être un peu écrasante au premier abord, ne craignez pas.
Autrement dit, git ne peut pas faire le changement sur la télécommande sans perdre les commits, il refuse donc la poussée .
Habituellement, cela est causé par un autre utilisateur poussant vers la même twig. Vous pouvez remédier à cela en récupérant et en fusionnant la twig distante, ou en utilisant la fonction pull pour effectuer les deux simultanément.

Dans d’autres cas, cette erreur est le résultat de modifications destructives effectuées localement à l’aide de commandes telles que git commit --amend ou git rebase .
Bien que vous puissiez remplacer la télécommande en ajoutant --force à la commande push , vous ne devriez le faire que si vous êtes absolument certain que c’est ce que vous voulez faire.
Les impulsions forcées peuvent entraîner des problèmes pour les autres utilisateurs qui ont récupéré la twig distante et sont considérés comme une mauvaise pratique. En cas de doute, ne forcez pas .


Git ne peut pas apporter de modifications sur la télécommande, comme une fusion rapide, comme le montre une référence à Visual Git, par exemple :

texte alt

Ce n’est pas exactement votre cas, mais cela aide à voir ce qu’est un “fast-forward” (où le HEAD d’une twig est simplement déplacé vers un nouvel commit plus récent).


Le ” branch master->master (non-fast-forward) Already-up-to-date ” est généralement destiné aux twigs locales qui ne suivent pas leur contre-partie distante.
Voir, par exemple, cette question SO ” git pull dit à jour, mais git push rejette non-avance rapide “.
Ou les deux twigs sont connectées, mais en désaccord avec leur histoire respective:
Voir ” Histoire de GIT sans fin – que fais-je mal ici? ”

Cela signifie que votre twig subversion et votre twig git maître distante ne sont pas d’accord sur quelque chose.
Certains changements ont été poussés / engagés dans l’un qui n’est pas dans l’autre.
gitk --all , et cela devrait vous donner une idée de ce qui a mal tourné – cherchez des “fourchettes” dans l’histoire.

Cela signifie que d’autres commits ont été diffusés vers le référentiel distant, qui diffèrent de vos commits. Vous pouvez généralement résoudre cela avec un

 git pull 

avant de pousser

En fin de compte, “accélération rapide” signifie que les validations peuvent être appliquées directement sur l’arbre de travail sans nécessiter de fusion.

Une mise à jour rapide est où les seules modifications apscopes d’un côté après la validation la plus récente de l’autre côté, il n’est donc pas nécessaire de procéder à une fusion. Cela signifie que vous devez fusionner vos modifications avant de pouvoir pousser.

vous pourriez vouloir utiliser la force avec l’opération de poussée dans ce cas

git push origine master –force