J'ai créé un nouveau référentiel sur Github qui ne contient que le fichier Readme.md maintenant.
J'ai un projet RoR nouvellement créé que je voulais pousser vers ce référentiel. Voici les commandes que j'ai données dans mon terminal pour l'exécuter avec l'erreur que j'obtiens.
git remote add origin https://github.com/aniruddhabarapatre/learn-rails.git
Après quoi j'ai entré mon nom d'utilisateur 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 je pousse 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'a eu de problèmes la première fois.
Réponses:
Lorsque vous avez créé votre référentiel sur GitHub , vous avez créé un README.md , qui est un nouveau commit .
Votre dépôt local ne connaît pas encore ce commit. Par conséquent:
Vous voudrez peut-être trouver pour suivre ces conseils:
C'est:
la source
fatal: refusing to merge unrelated histories
dans un tel cas, vous soumettezgit pull --allow-unrelated-histories origin master
et ensuite vous poussez selon la réponse ciSi c'est ta première poussée
change juste le
changez-le comme ça!
la source
Et voici un GIF.
⚠️ ATTENTION : l'utilisation
force
peut changer l'historique pour d'autres personnes sur le même projet. En gros, si vous ne vous souciez pas de la suppression d'un fichier pour tout le monde, allez-y. Surtout si vous êtes le seul développeur du projet.la source
git push -f origin master
n'est pas une bonne habitude à prendre.-f
La balise supprime les fichiers et doit être utilisée avec précaution.Émettez une poussée forcée avec la commande:
la source
En supposant que vous ayez ajouté le fichier Readme.md via l'interface fournie par github, le readme n'est 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 ne dispose pas du fichier readme - il est "en retard", pour ainsi dire. Par conséquent, comme suggéré dans le message d'erreur, essayez d'abord "git pull". Cela extraira le fichier readme du référentiel distant et le fusionnera avec votre répertoire local. Après cela, vous ne devriez avoir aucun problème à pousser vers le dépôt distant (les commandes que vous avez postées me semblent valides).
la source
Cela se produit lorsque vous essayez de pousser initialement.Parce que dans votre dépôt GitHub, vous avez readMe.md ou toute autre chose nouvelle qui ne se trouve pas dans votre dépôt local. Vous devez d'abord fusionner l'historique indépendant de votre dépôt github.
alors vous pouvez obtenir les autres fichiers du repo (readMe.md ou autre) en utilisant ceci
Après ça
Maintenant, vous avez réussi à pousser tous vos changements dans le dépôt Github.Je ne suis pas expert en git, mais à chaque fois, ces étapes fonctionnent pour moi.
la source
Considérant que si vous n'avez pas validé vos modifications depuis un certain temps, cela fonctionnera peut-être pour vous.
Cela a fonctionné pour moi, j'espère que cela fonctionne aussi pour vous.
la source
si vous utilisez git pour mac dans l'interface graphique, vous pouvez d'abord choisir Respository-> Pull ou "comm + shift + p" pour "git pull", puis publier la source.
la source
Cette erreur se produit lorsque vous transférez les données de votre répertoire local vers votre référentiel git distant en suivant la commande git:
git push -u origin master
En tant que répertoire local et les fichiers du répertoire distant git étaient en conflit.
Solution :
Après avoir validé tous les fichiers en préparation, suivez les étapes ci-dessous.
Récupérez les fichiers du référentiel distant en cas de conflit avec le répertoire de travail local.
git pull <remoter-url> <branch-name>
Validez à nouveau les modifications.
git add -A
git commit -m ‘<comment>'
Après avoir validé les fichiers de fusion avec les deux répertoires, vous pouvez utiliser
git push -u origin master
Cela résoudra le problème. Merci.
la source
J'ai eu un problème similaire ... je l'ai résolu comme ça (je ne suis pas un expert git donc je ne sais pas si c'est une bonne solution, mais cela a fonctionné pour moi):
la source
J'ai lutté avec cette erreur pendant plus d'une heure! Voici ce qui m'a aidé à le résoudre. Tout cela alors que mon répertoire de travail était le dépôt 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 readme file1 file2
par exemple. un fichier readme file1 file2 newfile1 newfile2
git ajouter "newfile1" "newfile2"
[facultatif] git status cela vous assurera si les fichiers que vous souhaitez ajouter sont correctement mis en scène ou pas
Sur le maître de succursale Votre succursale est à jour avec «origine / maître». Modifications à valider: (utilisez "git reset HEAD ..." pour désinstaller)
5.git commit -m "quelle que soit la description que vous voulez donner" 6.git push
Et tous mes nouveaux fichiers ainsi que les plus anciens ont été vus dans mon dépôt.
la source
Une réponse plus simple consiste à télécharger manuellement le fichier README.MD de votre ordinateur vers GitHub. Cela a très bien fonctionné pour moi.
la source
J'utilise les options Branches, puis clique droit sur le dossier "remote / origin" puis clique sur "supprimer les branches de remote", voir l'image ci-dessous:
la source
J'ai eu cette erreur sur Azure Git, et cela résout le problème:
la source