Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de "pull" et "Stash" avec Git

Sujet résolu
    12 septembre 2017 à 21:50:55

    Bonjour.

    J'ai un serveur avec un dépot Git.
    J'ai plusieurs ordinateurs que je synchronise via ce serveur.

    Je souhaite récupérer la dernière version (git pull) sur mon PC fixe.

    Ce dernier m'a répondu : "error: Your local changes to the following files would be overwritten by merge: (un fichier)"

    J'ai fait un "git commit -am "commentaire" ". Il m'a répondu ceci : "Votre branche est en retard sur 'origin/master' de 3 commits, et peut être mise à jour en avance rapide."

    J'ai fait un "'git stash". Il m'a répondu : "Pas de modifications locales à sauver".

    Depuis, je tourne en rond. Il ne veut pas faire de stash, il ne veut pas faire de pull, et le commit ne change rien. Le dossier fait plusieurs Go, et je ne souhaite pas refaire un clone de tout...

    Que dois-je faire ? Merci d'avance pour votre aide !

    • Partager sur Facebook
    • Partager sur Twitter
      13 septembre 2017 à 17:55:47

      Salut,

      Qu'indiquent "git status" et "git diff" ?

      • Partager sur Facebook
      • Partager sur Twitter
      Dream on, Dream on, Dream until your dream comes true
        15 septembre 2017 à 16:12:15

        Salut :)

        Tu avais donc des changements en local qui auraient été perdus si Git avait fait le pull directement. Donc il ne l'a pas fait.

        Cependant un git pull implique un git fetch qui lui récupère l’état du repo distant, et ici il y a 3 commit d'avance sur le serveur par rapport a ou tu en étais depuis la dernière fois que tu as fait un git pull . C'est pour celui qu'il te dit "Votre branche est en retard sur 'origin/master' de 3 commits, et peut être mise à jour en avance rapide." .

        Maintenant ton git stash "échoue" car tu as déjà commitéles changements que tu avais en local : il n'y a rien a stasher donc.

        Moi ce que je te propose, c'est une commande (que je trouve) magique ! :p

        Il s'agit de git pull --rebase origin master.

        • Partager sur Facebook
        • Partager sur Twitter
          15 septembre 2017 à 18:06:05

          git pull --rebase origin master


          Autant faire un petit `git rebase origin/master` dans ce cas la ;)


          Mais oui, cela ne sert a rien de stash si t'a commit avant

          • Partager sur Facebook
          • Partager sur Twitter

          Architecte logiciel - Software craftsmanship convaincu.

            15 septembre 2017 à 18:18:42

            necros211 a écrit: > Mais oui, cela ne sert a rien de stash si t'a commit avant

            En l'occurrence parce qu'il a fait un commit -a, mais sinon il peut rester des modifications non validées après un commit.

            • Partager sur Facebook
            • Partager sur Twitter
              15 septembre 2017 à 18:24:12

              il peut rester des modifications non validées après un commit.


              Effectivement, j'avais oublier ce cas.

              • Partager sur Facebook
              • Partager sur Twitter

              Architecte logiciel - Software craftsmanship convaincu.

                16 septembre 2017 à 11:26:33

                Merci pour toutes vos réponses.

                J'avoue avoir réussi à m'en tirer avant de vous lire, en revenant 1 commit en arrière sur mon PC fixe (et là : le pull a fonctionné). 

                Néanmoins, vos réponses sont intéressantes, et je me les garde sous le coude pour plus tard.

                Merci encore.

                • Partager sur Facebook
                • Partager sur Twitter

                Problème de "pull" et "Stash" avec Git

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown