J'ai un githanub Repo que j'ai poussé à plusieurs reprises de la maison et de l'école. Il y a quelques jours, j'ai été forcé de réinitialiser mon PC à domicile et de réinitialiser ce repo local. Maintenant, chaque fois que j'essaie de tirer sur mon PC d'école, j'obtiens l'erreur suivante:
C:\Users\ccronk22\Documents\Python\Cubes>git pull github master From https://github.com/AwesomeCronk/Cubes * branch master -> FETCH_HEAD fatal: refusing to merge unrelated histories C:\Users\ccronk22\Documents\Python\Cubes>
3 Réponses :
Je ne sais pas exactement comment vous êtes arrivé à cette situation, mais le message d'erreur indique que votre repo git local contient une histoire sans rapport avec le repo à distance auquel il pointe. C'est-à-dire que vos repos locaux et distants sont différents. En supposant que vous n'avez pas le problème d'essayer de sauvegarder des travaux non engagés locaux, le correctif le plus simple peut-être pour simplement supprimer le dossier de projet et clone à nouveau:
# from C:\Users\ccronk22\Documents\Python\ rm -r Cubes\ git clone <URL for Cubes project>
Je déciderais de décider quel repo est votre actuel avec l'histoire que vous souhaitez et voyez si vous avez des changements non engagés dans l'une des autres.
Enregistrez d'abord une copie du dossier des modifications non engagées sur le PC qui leur ont une sauvegarde. S'il y en a. P>
Désormais selon lequel est le plus pertinent que vous devez faire ce qui suit: p>
plus facile fort>: github est le code et l'historique correspondants:
Tous les référentiels sur les PC qui ne fonctionnent pas simplement les supprimer et les cloner à nouveau de GITUB. P> git push --force origin master
Vous devez cloner le repo au lieu de la réinitialiser. P>
Pls utilisez: git clone https://github.com/awesomecronk/cubes.git p>
Cela clonera également votre histoire et le message d'histoire non liée devrait disparaître. P>
Pouvez-vous nous poster l'arbre que vous obtenez avec gitk? Cela pourrait aider. Donnez-nous également la sortie de la branche GIT code>
Vous réinitialisez votre PC à la maison et vous avez des problèmes avec votre ordinateur scolaire? Avez-vous fait quelque chose avec votre repo Github? Je suppose qu'une étape est manquante? Avez-vous forcé le repo PC à la maison à Github? Comment avez-vous "réinitialiser"?
Compte tenu de la réponse de Tim Biegelisen, je crois que j'ai réussi à réinitialiser l'histoire de la répétition locale de mon PC à domicile. Ensuite, quand j'ai poussé cela au répétant GitHub, (je devais le forcer.) Je réinitialise l'histoire du repo Github.
En règle générale en tant qu'apprenant de GIT: N'utilisez jamais de push-push -force. Dans mon expérience, il vous suffit de l'utiliser si quelque chose est vêlé ou mal tourné. Et si tel est le cas, il est absolument certain que l'endroit où vous appuyez sur la version vissée et que vous appuyez sur la version correcte. Alors add-on à la règle: utilisez Git Push -force uniquement pour réparer quelque chose qui s'est mal passé ;-).