web-dev-qa-db-fra.com

Git donnant l'erreur "chercher d'abord" en essayant de pousser

J'ai eu ma première introduction à git à travers un cours que je prends. J'ai un certain nombre de fichiers dans un répertoire de mon ordinateur et je peux les mettre en scène et les valider sans problème. Cependant, lorsque j'essaie de transférer des fichiers dans mon référentiel github, je continue à recevoir ce message:

Pushing to https://github.com/BigMeanCat/CMDA
To https://github.com/BigMeanCat/CMDA
 ! [rejected]        master -> master (fetch first)
error: failed to Push some refs to 'https://github.com/BigMeanCat/CMDA'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git Push --help' for details.

Quelqu'un peut-il m'aider avec ce que cela signifie et comment résoudre ce problème? J'ai vu quelques personnes avec des problèmes similaires en ligne, mais je suis BRAND NEW et je ne connais pas suffisamment le langage de commande de Git. Je suis un peu hésitant à prendre certaines suggestions, car je ne sais pas si cela résoudra le problème ou l'aggravera.

Merci!

9
FizzikalGrafiti

Quelqu'un d'autre (ou vous sur une autre machine) a transmis un ensemble de modifications au référentiel distant. Vous, sur votre machine locale, n’avez pas encore ces modifications. Donc, pour résoudre la situation, vous devez d'abord 

git pull

et alors 

git Push

Cependant, vous ne pourrez pas git pull tant que des modifications auront été apportées à votre arbre de travail. Par conséquent, avant d'extraire/pousser, vous devez d'abord commit ou stash vos modifications locales. Cela, potentiellement, pourrait créer une situation de fusion si les modifications distantes se chevauchent avec vos modifications locales.

13
Tuncay Göncüoğlu

J'ai été pris même erreur, alors j'ai résolu ce sujet avec utilisé "--force" commande. En bref, écrivez cette commande;

git Push Origin master --force

Attention: Probablement, vous avez essayé de pousser vos codes encore et encore auparavant, c’est pourquoi vous avez pris cette erreur.Ma solution écrasez avec force avec votre changeset. Par cette méthode, votre référentiel peut provoquer une incompatibilité avec d'autres personnes. Mais si vous travaillez seul (pas comme un groupe de travail), vous pouvez donc utiliser facilement "--force" comme je l’ai mentionné plus haut.

12
Purgoufr

Vous pouvez résoudre le problème par la commande.

git Push Origin master --force
5
Rubel Hossain

git pull est une bonne option

Mais aussi: git Push Origin master --force command aidera éventuellement si le problème persiste

2
Kurian Benoy

Cela signifie que quelqu'un a poussé le travail vers le référentiel distant. Pour le fusionner avec votre travail, vous pouvez exécuter git pull --rebase puis repousser votre travail combiné vers le référentiel distant.

2
Emil Davtyan

@Tunacy l'a bien dit.

quelqu'un a engagé un référentiel, il vous suffit donc de le faire

git pull

et 

git Push 

c'est toutvous pouvez aussi utiliser 

git merge 

pour la fusion 

1
Sh Huzaifa

J'ai eu ce même problème exactement… .. J'ai demandé à un ami de l'aider et il a simplement copié la pâte dans le référentiel principal et écrit la commande ci-dessous: Émission distante git Origin commit -m "y compris project2 dans le référentiel principal" git maître d’origine Push -u

Finalement, j'ai reçu deux pâtes dans le référentiel principal de deux projets différents.

1
Loiane Cabral

Lorsque vous commencerez à travailler avec git, vous pourrez jeter un œil dans la documentation: http://git-scm.com/doc . D'après votre description, si j'ai bien compris, vous avez un référentiel existant sont partagés avec les autres camarades de classe. Par conséquent, vous devez d'abord extraire l'ensemble du projet (avec tous les fichiers). Ayant une version à jour du projet sur votre référentiel local, vous pouvez pousser les modifications de validation dans le référentiel.

0
Mateusz

J'ai rencontré cette erreur lorsque j'ai ouvert terminal/GitBash dans le mauvais répertoire. En fait, en dehors du dossier du référentiel. Vérifiez si vous êtes au bon endroit.

0
JEJC