web-dev-qa-db-fra.com

Problème de pousser du nouveau code dans Github

J'ai créé un nouveau référentiel sur Github qui ne contient plus que le fichier Readme.md.

J'ai un projet RoR nouvellement créé que je souhaitais envoyer à ce référentiel . Voici les commandes que j'ai données dans mon terminal pour exécuter ceci avec l'erreur que je reçois.

git remote add Origin https://github.com/aniruddhabarapatre/learn-Rails.git

Après quoi j'ai entré mon identifiant et mon mot de passe

git Push -u Origin master

Erreur ---

To https://github.com/aniruddhabarapatre/learn-Rails.git
 ! [rejected]        master -> master (fetch first)
error: failed to Push some refs to 'https://github.com/aniruddhabarapatre/learn-Rails.git'
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 merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git Push --help' for details.

C'est la première fois que j'insère mon code dans un référentiel Github et je suis perdu avec les erreurs. J'ai cherché quelques autres questions qui sont posées ici, mais aucune d'entre elles n'avait de problèmes pour la première fois.

126
Aniruddha

Lorsque vous avez créé votre référentiel sur GitHub , vous avez créé un README.md , qui est un nouveau commit .

Votre référentiel local ne connaît pas encore ce commit. Par conséquent:

Les mises à jour ont été rejetées car la télécommande contient du travail que vous effectuez pas localement.

Vous voudrez peut-être trouver pour suivre ce conseil:

Vous voudrez peut-être d'abord fusionner les modifications distantes (par exemple, 'git pull') avant de réappuyer.

C'est:

git pull
# Fix any merge conflicts, if you have a `README.md` locally
git Push -u Origin master
146
Johnsyweb

Si c'est votre première poussée

il suffit de changer le 

git Push **-u** Origin master

change le comme ça!

git Push -f Origin master
261
Van Mart

⚡️ FACILE: Tout ce dont vous avez besoin est une poussée forcée. Parce que vous avez peut-être créé le fichier readme.md sur Github et que vous ne l'avez pas encore extrait.

git Push -f Origin master

Et voici un GIF.

 git Push -f Origin master

ATTENTION: L'utilisation de force peut modifier l'historique d'autres personnes du même projet. Fondamentalement, si vous ne vous souciez pas de la suppression d’un fichier par tout le monde, continuez. Surtout si vous êtes le seul développeur du projet.

45
Ahmad Awais

Émettez un Push forcé avec la commande:

git Push -f Origin master
32
Samarth Shah

En supposant que vous ayez ajouté le fichier Readme.md via l'interface fournie par github, le fichier Readme ne se trouve pas encore dans votre dossier local. Par conséquent, lorsque vous essayez de pousser vers le référentiel distant, vous obtenez une erreur, car votre référentiel local manque du fichier lisez-moi - c'est "en retard", pour ainsi dire. Par conséquent, comme suggéré dans le message d'erreur, essayez d'abord "git pull". Cela va extraire le fichier readme du référentiel distant et le fusionner avec votre répertoire local. Après cela, vous ne devriez plus avoir de problème à pousser vers le dépôt distant (les commandes que vous avez envoyées me semblent valables).

8
Quercus

Cela se produit lorsque vous essayez de pousser initialement. Parce que dans votre référentiel GitHub, lisez readMe.md ou toute autre chose nouvelle qui ne figure pas dans votre référentiel local. Tout d’abord, vous devez fusionner l’historique sans rapport de votre repith github. 

git pull Origin master --allow-unrelated-histories

alors vous pouvez obtenir les autres fichiers de repo (readMe.md ou n’importe laquelle) en utilisant cette

git pull Origin master

Après ça

git Push -u Origin master

Maintenant, vous réussissez à transférer tous vos changements dans Github repo.Je ne suis pas un expert en git, mais chaque fois que cette étape fonctionne pour moi.

5
Chathuranga

Si vous n'avez pas validé vos modifications depuis un moment, cela fonctionnera peut-être pour vous.

git add files
git commit -m "Your Commit"
git Push -u Origin master

Cela a fonctionné pour moi, j'espère que cela le sera aussi pour vous.

5
Robert Mcelvenny

si vous utilisez le git pour mac dans l'interface graphique, vous pouvez d'abord choisir Repository-> Pull ou le "comm + shift + p" sur "git pull", puis publier le code source.

3
zheng fuchao

Cette erreur se produit lorsque vous transmettez les données de votre répertoire local à votre référentiel git distant en suivant la commande git: git Push -u Origin master

En tant que répertoire local et fichiers du répertoire distant git en conflit.

Solution :

Une fois tous les fichiers validés, procédez comme suit.

  1. Récupérez les fichiers du référentiel distant en tant que conflit avec le répertoire de travail local.

    • git pull <remoter-url> <branch-name>
  2. Commettez les modifications à nouveau.

    • git add -A
    • git commit -m ‘<comment>'
  3. Après avoir fusionné les fichiers de fusion avec les deux répertoires, vous pouvez utiliser 

    • git Push -u Origin master

Cela résoudra le problème. Merci.

1
Ravi

J'ai lutté avec cette erreur pendant plus d'une heure! Ci-dessous est ce qui m'a aidé à le résoudre. Tout cela alors que mon répertoire de travail était le rapport que j'avais cloné sur mon système.

Si vous ajoutez des fichiers à votre référentiel existant ** 1. J'ai extrait tout ce que j'avais ajouté à mon référentiel dans mon dossier GitHub:

git pull 


La sortie était - Un fichier lisez-moi Fichier1 Fichier2

  1. J'ai copié (glissé/déposé) mes nouveaux fichiers (les fichiers que je voulais envoyer) dans mon référentiel cloné (référentiel GitHub). Lorsque vous aurez ce rapport, vous devriez voir vos anciens et nouveaux fichiers. 

par exemple. certains fichiers Lisez-moi fichier1 fichier2 newfile1 newfile2

  1. git ajoute "newfile1" "newfile2"

  2. [optionnel] git status cela vous assurera que les fichiers que vous souhaitez ajouter sont correctement stockés ou pas la sortie a été


Sur branche master Votre branche est à jour avec 'Origine/master' . Modifications à valider: (utilisez "git reset HEAD ..." pour unstage)

    new file:   newfile1
    new file:   newfile2

5.git commit -m "quelle que soit la description que vous voulez donner" 6.git Push

Et tous mes nouveaux fichiers avec les plus anciens ont été vus dans mon dépôt.

0
Preeti

J'utilise les options Branches, puis cliquez avec le bouton droit sur le dossier "remote/Origin", puis cliquez sur "supprimer les branches de la télécommande", voir l'image ci-dessous:

 the image 

Une réponse plus simple consiste à télécharger manuellement le fichier README.MD de votre ordinateur vers GitHub. A très bien fonctionné pour moi.

0
Bogdan Doicin

J'ai eu un problème similaire ... Je l'ai résolu comme ça (je ne suis pas un expert, donc je ne sais pas si c'est une bonne solution, mais ça a fonctionné pour moi):

git pull Origin master --allow-unrelated-histories
git merge Origin origin/master
git rm README.md
git commit -m 'removed readme.md'
git Push Origin master
0
Marco Caggiano