erreur git: impossible de pousser des références à

Pour une raison quelconque, je ne peux pas pousser maintenant, alors que je pouvais le faire hier. Je me suis peut-être trompé avec des configs ou quelque chose.

C’est ce qui se passe:

Lorsque j’utilise le maître d’origine git push

gitbashscr

À quoi ressemble mon répertoire de travail et mon référentiel distant:

entrer la description de l'image ici

Si le repo GitHub a vu de nouveaux commits, alors que vous travailliez en local, je vous conseille d’utiliser:

git pull --rebase git push 

La syntaxe complète est la suivante:

 git pull --rebase origin master git push origin master 

De cette façon, vous --rebase (la partie --rebase ) vos commits locaux en plus de l’ origin/master nouvellement mis à jour (ou d’ origin/yourBranch : git pull origin yourBranch ).

Voir un exemple plus complet dans le chapitre 6 Tirez avec rebase du Git Pocket Book .

Je recommanderais un:

 git push -u origin master 

Cela établirait une relation de suivi entre votre twig maître locale et sa twig en amont.
Après cela, tout effort futur pour cette twig peut être fait avec un simple:

 git push 

Voir ” Pourquoi dois-je pousser explicitement une nouvelle twig? “.


Puisque l’OP a déjà réinitialisé et refait sa validation en haut de la page d’ origin/master :

 git reset --mixed origin/master git add . git commit -m "This is a new commit for what I originally planned to be amended" git push origin master 

Il n’y a pas besoin de pull --rebase .

Remarque: git reset --mixed origin/master peut également être écrit git reset origin/master , puisque l’option --mixed est celle par défaut lors de l’utilisation de git reset .

Est-ce que quelqu’un a essayé:

 git push -f origin master 

Cela devrait résoudre le problème.

EDIT: Sur la base du commentaire de @Mehdi ci-dessous, j’ai besoin de clarifier quelque chose à propos de —force pushing . La commande git ci-dessus ne fonctionne en toute sécurité que pour le premier commit. S’il y avait déjà des commits, des requêtes d’extraction ou des twigs dans le précédent, cela réinitialise tout et le définit à partir de zéro. Si oui, veuillez vous référer à la réponse détaillée de @VonC pour une meilleure solution.

Si vous venez d’utiliser git init et que vous avez ajouté vos fichiers avec git add . ou quelque chose de similaire et que vous avez ajouté votre twig distante, il se peut que vous n’ayez tout simplement pas commis ( git commit -m 'commit message' ) quelque chose localement pour pousser sur la télécommande … J’ai juste eu cette erreur et c’était mon problème.

J’ai eu le même problème. J’avais ce problème parce que je n’avais pas fait de commettre, pas même un engagement initial et que j’essayais encore de pousser.

Une fois que j’ai fait git commit -m "your msg" et puis tout s’est bien passé.

Je trouve la solution à ce problème dans l’aide github.

Vous pouvez le voir dans: Traiter les erreurs sans avance rapide

Ça dit:

Vous pouvez résoudre ce problème en récupérant et en fusionnant les modifications apscopes à la twig distante avec les modifications apscopes localement:

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

Ou, vous pouvez simplement utiliser git pull pour exécuter les deux commandes à la fois:

 $ git pull origin branch # Grabs online updates and merges them with your local work 

Si vous utilisez gerrit, cela peut être dû à un identifiant de modification inapproprié dans la validation. Essayez de supprimer l’identifiant de changement et voyez ce qui se passe.

Renommez votre twig, puis appuyez sur, par exemple:

 git branch -m new-name git push -u new-name 

Cela a fonctionné pour moi.

N’oubliez pas de valider vos modifications avant de passer au repository Github. Cela pourrait résoudre votre problème.

avant de pousser, vous devez append et commettre les modifications ou faire git push -f origin master

Je ne suis pas sûr que cela s’applique, mais la solution pour moi était de commettre quelque chose localement après git init. Puis j’ai poussé à distance en utilisant –set-upstream …

Le fait de ne pas engager les modifications initiales avant de pousser provoque également le problème

Eh bien, si aucune des réponses ci-dessus ne fonctionne et si vous avez gâché quelque chose avec ssh-add ces derniers temps. Essayer

 ssh-add -D 

Dans mon cas, cette erreur s’est produite car il y avait une maintenance sur notre version de GitLab.

Vous pouvez également le réparer en éditant le fichier de configuration git de votre projet:

Où est-ce?

.git / config

Ajoutez les lignes suivantes à la fin si elles ne le sont pas.

[branch "master"] remote = origin merge = refs/heads/master

Cela a résolu mon problème

Dans mon cas, la fermeture de l’éditeur (Visual Studio Code) a résolu un problème.

erreur git: impossible de pousser certaines références également lorsque le nom du référentiel local correspond au nom du référentiel distant correspondant. Assurez-vous de travailler sur la paire de référentiels appropriée avant de transférer les modifications sur le référentiel distant. Si vous épelez incorrectement et que vous souhaitez supprimer le référentiel local, procédez comme suit

Supprimez le repository local de Windows 1. del / F / S / Q / A .git 2. rmdir .git 3. Corrigez le nom du dossier local (XXXX02-> XXXX20) ou s’il s’agit d’un repo nouvellement créé, supprimez-le et recréez-le. repo (XXXX02 Nom Repo changé en XXXX20). 4. git init 5. Remapper avec repo distant s’il n’est pas mappé. 6. git remote append l’origine https://github.com/ /XXXX20.git 7. git push -u master d’origine