61 votes

Git refusant de fusionner des histoires sans rapport. Qu'est-ce que des "histoires sans rapport"?

Dans ma section locale, j'ai créé un nouveau fichier texte -> git add newfile.txt -> commit -> extraire le maître d’origine -> ERROR!

"refus de fusionner des histoires sans rapport".

Qu'est-ce que des histoires sans rapport? , quelles sont les histoires liées?

116voto

Yashar Panahi Points 1067

Je pense que vous avez commis dans le référentiel distant et quand vous tirez cette erreur se produit.

utiliser cette commande

 git pull origin master --allow-unrelated-histories
git merge origin origin/master
 

11voto

Tasnim Fabiha Points 580

Lorsque, en quelque sorte le local .git sous-répertoire est perdu, l'ensemble du projet semble être apparue de nulle part, comme toutes les modifications locales histoires ont été contenus par .git. Ainsi, vos modifications locales de devenir indépendants. C'est pourquoi tous ces changements sont appelés unrelated histories ensuite.

Dans cette situation, git merge or pull demande incapable de piste où vous avez apporté des modifications à ajouter avec le projet à distance. Par conséquent, " refusing to merge unrelated histories"- erreur se produit.

Dans cette situation, si vous essayez de force de fusion par

git pull origin master --allow-unrelated-histories

git merge origin origin/master - ces commandes, il va créer beaucoup de conflits, comme il n'est pas en mesure de trouver vos modifications locales de l'histoire.

0voto

Youngjae Points 1457

J'ai eu ce problème lors du changement de nom de l'un des repository sur GitHub Entreprise, et même l'ancien nommé pensions que les étapes ci-dessous.

  1. créer des pensions de l'échantillon à distance
  2. le clone de locaux
  3. renommer distance à vieux-échantillon
  4. créer un nouveau repo nommé échantillon à distance
  5. essayez de le pousser à partir de locaux
  6. erreur s'est produite.

Bizarre, c'est que j'ai enlevé local repo mais git essaie de cloner l'ancien, même si j'essaie de cloner nouvellement créé repo url. Le clone url est juste automatiquement redirigé vers ancien, même si la nouvelle est existé dans la distance. Je ne connais pas cette cause est à partir du serveur local ou git processus.

Pour cette raison, l'erreur se produit car le git ne parvient pas à comparer sa validation de l'histoire à l'histoire à distance.

Le sans rapport avec les histoires pourrait dire dans la situation ci-dessus.

J'ai fini par supprimer renommé vieux repo à distance et qu'il n'en résout.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X