IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GIT Discussion :

fatal: refusing to merge unrelated histories


Sujet :

GIT

  1. #1
    Membre du Club
    Homme Profil pro
    .
    Inscrit en
    Avril 2016
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Avril 2016
    Messages : 108
    Points : 49
    Points
    49
    Par défaut fatal: refusing to merge unrelated histories
    Bonjour,

    Je viens demander de l'aide suite à plusieurs erreurs que j'ai du commettre sur git.
    J'ai mis mon projet sur gitlab depuis mon ordinateur personnel, puis j'ai fait un git init et git clone sur un autre afin de récuperer mon projet, jusque la aucun probleme.
    En fin de journée en voulant push j'ai commencé a voir des problemes tels que :
    "origin does not appear to be a git repository"
    Apres plusieurs manipulations j'ai ensuite eu :
    Updates were rejected because the remote contains work that you do not have locally"
    J'ai réussi a push grace a un git push -f ..
    Mais maintenant que j'essaie de pull sur mon ordi personnel j'ai ce message :
    fatal: refusing to merge unrelated histories

    Quelqu'un pourrait il m'aider? et si possible me dire la ou je me suis loupé ou quelle est la bonne marche a suivre pour la prochaine fois??

    COrdialement,

  2. #2
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    puis j'ai fait un git init et git clone sur un autre afin de récuperer mon projet, jusque la aucun probleme
    Il y a un problème ici. git init crée un repo local à partir de rien. git clone clone (comme son nom l'indique) un repo distant en local. Tu peux faire l'un ou l'autre mais pas les deux. Je ne suis pas du tout certain des effets de bords d'enchainer les 2 commandes sur le même répertoire, surtout si tu as commit des choses entre les deux.

    Pour pousser sur gitlab/github un repo existant sur ta machine locale il faut :

    - créer le repo distant via l'interface web de l'outil en veillant bien à n'ajouter aucun fichier par défaut (pas de README.md par exemple). Le repo doit être totalement vide.
    - récupérer l'url du repo (dans gitlab c'est dans l'onglet "Project")
    - ajout à ton repo local le remote que tu viens de créer via la commande git remote add origin <url-du-repo-distant>. Ton remote s'appellera dès lors origin.
    - pousser ta branche en ajoutant le tracking : git push -u origin master si ta branche principale s'appelle master.

    J'ai réussi a push grace a un git push -f ..
    Le -f a pour effet de forcer le push lorsque les historiques du remote et du local divergent. Donc tu as écrasé l'historique distant avec l'historique local. Généralement il faut éviter de push --force c'est le signe d'une erreur dans la gestion de l'historique (on ne devrait jamais réécrire un historique public).

    Mais maintenant que j'essaie de pull sur mon ordi personnel j'ai ce message :
    fatal: refusing to merge unrelated histories
    Là je ne te suis plus, c'est le même ordi depuis lequel tu as push ?

    Pourquoi pull alors que tu viens de push ?

    C'est pas très clair dans ton message quelles commandes ont été jouées sur quelle machine avec quel repo contenant quel historique.

    A ta place je reprendrais de zéro pour faire un truc propre.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  3. #3
    Membre du Club
    Homme Profil pro
    .
    Inscrit en
    Avril 2016
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Avril 2016
    Messages : 108
    Points : 49
    Points
    49
    Par défaut
    Bonjour,

    Merci de la réponse en effet j'ai fait n'importe quoi..!
    Du coup,j'ai recommencé en recréant un repo avec le init et pour le recuperer j'ai fais simplement un git clone, jusque la tout c'est bien passé par contre j'ai essayé un git add -A la ou j'ai récup les fichiers et j'obtiens :
    fatal: Not a git repository (or any of the parent directories): .git

    Pareil en faisant
    git remote add origin https://gitlab.com/ingvaldinho/***.git

    Je ne comprends pas pourquoi ..?

    Cordialement,

  4. #4
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    T'aurais pas oublié de te placer dans le répertoire du projet par hasard ?

    Quand tu fais un git clone ça te clone le projet dans un répertoire enfant du répertoire courant.

    Si tu es dans /home/wilhem31/ et que tu exécutes un git clone https://github.com/wilhem31/my-repo ça te crée /home/wilhem31/my-repo.

    Il faut donc faire un cd my-repo.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    605
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 605
    Points : 670
    Points
    670
    Par défaut
    Pour information sur ce message "Refusing to merge unrelated histories",
    dans les situations où il est indispensable de reprendre un historique d'un autre projet, il est possible d'utiliser l'option --allow-unrelated-histories dans la commande merge.

    Ce ne sera pas ton cas ici, mais elle peut se montrer très utile quand on migre un autre SCM vers Git,
    ou quand on recompose une série de projets Git autonomes en un seul projet Git muni de sous-répertoires contenant les anciens projets, pour ne plus avoir à gérer qu'un seul projet.

Discussions similaires

  1. [DROIT]Refus de mission dans une SSII
    Par The_Nail dans le forum Droit du travail
    Réponses: 32
    Dernier message: 05/06/2010, 10h03
  2. Réponses: 8
    Dernier message: 14/11/2003, 22h51
  3. Refus d'accès à une base Firebird
    Par severine dans le forum Installation
    Réponses: 18
    Dernier message: 04/06/2003, 16h03
  4. acces refusé
    Par pram dans le forum XMLRAD
    Réponses: 3
    Dernier message: 02/04/2003, 15h55
  5. [PostgreSQL] Refus de STATEMENT dans un trigger
    Par alex2205 dans le forum Requêtes
    Réponses: 3
    Dernier message: 10/03/2003, 12h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo