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!
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.
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.
Vous pouvez résoudre le problème par la commande.
git Push Origin master --force
git pull est une bonne option
Mais aussi: git Push Origin master --force command aidera éventuellement si le problème persiste
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.
@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
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.
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.
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.