Différence entre Git Rebase et Merge

Différence entre Git Rebase et Merge

Git est un système de contrôle de version distribué - un outil de suivi des modifications apportées à un ensemble de fichiers ou de coordination de travail au fil du temps. Il est souvent utilisé par les programmeurs pour coordonner les modifications du code source du logiciel et la meilleure partie; il peut être utilisé pour suivre tout type de contenu. Il est spécialement conçu pour gérer tout, des projets de petits à grands volumes avec la plus grande vitesse et l'efficacité. C'est un sens extrêmement flexible que les individus peuvent partager le travail directement entre leurs référentiels personnels et les groupes peuvent coordonner leur flux de travail via un référentiel central. Il permet simplement à deux développeurs assis à deux endroits différents pour apporter et enregistrer des changements indépendamment, le tout sans référentiel central.

La fusion est une pratique courante dans Git utilisé pour intégrer les changements d'une branche à une autre. Git Merge est une commande qui commet des modifications à un autre emplacement. Il permet aux développeurs de prendre leurs lignes de code indépendantes créées par la branche GIT et de les intégrer dans une seule branche. Cela ne change que la branche cible tandis que l'histoire de la branche source reste. Git Rebase est encore une autre commande utilisée essentiellement dans le même but, sauf qu'elle le fait tout à fait différemment. Ils font tous les deux la même chose - incorporer les engins d'une branche dans une autre - mais la différence réside dans la façon dont ils le font. Nous mettons en évidence certains points de distinction clés en comparant les deux.

Qu'est-ce que Git Merge?

Git Merge est une commande qui unifie deux ou plusieurs branches d'histoire. Une fusion unir souvent seulement deux branches, bien que Git supporte la fusion de trois, quatre ou plus de branches en même temps. Git Merge est utilisé par Git Pull pour incorporer les modifications d'une branche à une autre ou d'un autre référentiel. La fusion doit se produire dans un seul référentiel, ce qui signifie que toutes les branches qui doivent fusionner doivent être présentes dans le même référentiel. Les situations de fusion résultent généralement de deux utilisateurs ou plus, essayant de mettre à jour le code commun. Le plus souvent, un utilisateur fusionne une succursale dans une autre branche de son référentiel local dans un environnement local. Git Merge intègre spécifiquement le contenu d'une branche source avec une branche cible. La branche cible est modifiée, tandis que la branche source reste.

Qu'est-ce que Git Rebase?

Git Rebase est encore une autre alternative à la fusion utilisée pour intégrer une autre branche à la branche où vous travaillez actuellement, sauf qu'elle garde un historique de validation linéaire. Le but de Git Rebase est de déplacer une branche d'un endroit à un autre. Comme les commits sont immuables, ils ne peuvent pas être déplacés, donc cela implique de faire de nouveaux engins avec les mêmes ensembles de changements et métadonnées. Une rebase change fondamentalement la notion de quand et où une séquence de validations a été développée, ce qui se traduit par certains aspects de l'histoire du développement perdu. Cela signifie que l'engagement original sur lequel le développement était à l'origine sera modifié. Il intègre efficacement tous les nouveaux engins dans la branche maître en réécrivant l'histoire. En conséquence, il crée de nouveaux engins pour chaque engagement dans la branche d'origine.

Différence entre Git Rebase et Merge

  1. Bases de Git Rebase and Merge

- Bien que, la fusion et la rebase soient les moyens les plus courants d'intégrer les changements dans le GIT et ils servent le même objectif - de combiner plusieurs branches en une seule - la différence réside dans la façon dont ils l'atteignent. Git Merge intègre le contenu d'une branche source avec une branche cible, tout en préservant l'ascendance de chaque histoire de validation, tandis que Git Rebase intègre tous les nouveaux engins dans la branche maître en réécrivant l'histoire en créant de nouveaux commits pour chaque engagement dans la branche source.

  1. Fonctionnement de Git Rebase et fusionnez

 - Avec Git Merge, vous passez d'abord à la branche pour être fusionné, puis utilisez la commande Merge pour sélectionner une branche pour fusionner. Étant donné qu'une branche pointe vers un engagement et qu'un engagement est la granularité avec laquelle vous associez les modifications, la commande de fusion fusionne au niveau de la branche ou de. Rebase, en revanche, est un peu différent. Vous sélectionnez d'abord une branche pour Rebase, puis utilisez la commande Rebase pour sélectionner où la mettre.

  1. But de Git Rebase and Merge

 - La fusion crée un nouveau commit qui représente la fusion entre deux branches. Il intègre les changements à partir de différentes lignes de développement parallèles (branches) en créant un engagement de fusion. Le but est de rejoindre deux branches ou plus ensemble, y compris tous les changements depuis le point de divergence dans la branche actuelle. Fastward est le comportement de fusion par défaut dans Git. Rebasing, en revanche, modifie les engagements individuels en réécrivant l'historique du projet en créant de nouveaux engins pour chaque engagement dans la branche d'origine, ce qui entraîne à son tour une histoire linéaire sans branches divergentes.

  1. HISTOIRE DE GIT REBASE ET MANGE

- Git Merge ne change pas l'historique, tout en préservant le contexte de la branche, ce qui signifie que les branches existantes ne sont pas modifiées. Il crée un nouveau commit (à moins qu'il ne s'agisse d'une fusion rapide), mais les engagements restent accessibles à partir de la branche. Git Rebase, en revanche, rationalise une histoire potentiellement complexe. Les commits sont réécrits, les anciennes versions sont oubliées et le Dag des révisions est modifié. Les validations ne sont plus accessibles avec Rebase, ce qui signifie que vous n'êtes plus en mesure de réprimander les succursales publiées.

Rebase vs. Merge: graphique de comparaison

Résumé de Git Rebase vs. Fusionner

Eh bien, en un mot, la fusion et la rebase sont les deux façons d'intégrer les changements dans le GIT, mais ils diffèrent dans la façon dont ils le font. Merge est une opération en une étape avec un seul endroit pour résoudre les conflits et les commits qui étaient accessibles de la branche restent accessibles. Rebase, en revanche, réapplique chaque engagement individuellement en réécrivant l'historique en créant de nouveaux engins pour chaque engagement dans la branche source. Donc, ce qui était autrefois accessible n'est plus accessible. Une rebase modifie fondamentalement la notion de quand et où une séquence de validations a été développée.