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 :

Git merge ou rebase


Sujet :

GIT

  1. #1
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut Git merge ou rebase
    Salut

    j ai deja chercher sur internet la difference entre Merge et rebase ; apparement c est une question de gout ....
    le rebase permet d'avoir un historique "propre" alors que le merge garde toutes les modifs.

    dans quel cas utiliser le merge ou le rebase

    merci d avance

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 141
    Billets dans le blog
    150
    Par défaut
    Bonjour,

    La question est intéressante et je vais tenter de faire de mon mieux pour vous donner une bonne réponse.
    Donc, au début, vous avez une branche 'B', qui démarre à un point 'P' (normalement, la dernière version du master).
    Le merge prend les modifications de la branche 'B' pour les remettre dans le master. Cela veut dire, que chaque commit effectué sur 'B', sera appliqué sur le master. Evidemment, il peut y avoir des conflits et la personne à l'origine de l'action de merge devra les résoudre.

    Le rebase ne fait pas de merge à proprement parler. C'est-à-dire que vous allez devoir faire un merge après votre rebase. De plus, le rebase réécrit l'historique de la branche, ce qui pour certain, est le mal.
    Donc, toujours le même cas, vous avez fait une branche 'B', qui démarre à un point 'P'. Vous faites vos modifications. Les commits peuvent être un peu "brouillon". Par exemple : commit 1 -> la fonctionnalité en question commit 2 -> fix typo, commit 3 -> oubli d'une virgule . Ce n'est pas super propre, dans le sens on se fout de garder les commit 2 et 3 dans l'historique. Ce ne sont que des trucs mineurs. Dans ce cas, vous allez faire un rebase sur les trois derniers commits, pour les fusionner en un seul commit tout beau.
    Aussi, un deuxième avantage, c'est que le rebase, peut permettre de déplacer l'origine de votre branche. La branche 'B' démarre du point 'P', mais depuis, il y a eu énormément de modification sur master. Vous faites un rebase pour placer votre branche 'B' à la fin de master (et non plus depuis le point 'P'). Ainsi, c'est vous (l'auteur de la branche) qui doit gérer la fusion. Ensuite, vous pouvez faire le merge vers master et, comme votre branche est à jour, vous (ou l'auteur du dépôt qui fait les merge) n'allez pas avoir de conflit.
    Pour ce second avantage, on pourrait me dire : il fallait refaire un merge master -> branche 'B'. C'est une autre solution en effet.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. VS Code et git rebase
    Par grunk dans le forum Visual Studio
    Réponses: 0
    Dernier message: 10/11/2017, 16h12
  2. Explication git rebase
    Par ikane dans le forum ALM
    Réponses: 5
    Dernier message: 01/12/2016, 15h58
  3. pro git v2 : example fake merge
    Par Gébix dans le forum ALM
    Réponses: 7
    Dernier message: 11/11/2014, 21h29
  4. [Git] git merge : équivalent du svn merge --dry-run
    Par emmanuel_dumas dans le forum Autres
    Réponses: 0
    Dernier message: 30/08/2013, 08h40
  5. GIT et merge
    Par chatlumo dans le forum Débuter
    Réponses: 2
    Dernier message: 02/01/2012, 14h30

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