Maison >outils de développement >git >Quelle est la différence entre git rebase et merge ?

Quelle est la différence entre git rebase et merge ?

hzc
hzcoriginal
2020-06-12 16:21:469450parcourir

Quelle est la différence entre git rebase et merge ?

fusionner et rebaser

Les deux commandes sur le titre : merge et rebase sont toutes deux utilisées pour fusionner des branches.

La commande rebase et les principes des deux commandes ne sont pas expliqués ici Pour une explication détaillée, veuillez vous référer ici.

Le contenu suivant parle principalement des différences entre les deux en fonctionnement réel.

Qu'est-ce qu'une branche

La branche consiste à faciliter le développement collaboratif de plusieurs personnes dans le même projet. Par exemple : chacun développe différentes fonctions sans s'influencer mutuellement pendant le processus de développement de leurs branches respectives. Une fois terminées, elles sont soumises à la branche de développement. Améliore considérablement l’efficacité du développement.

Fusionner les branches

Tout le monde crée une branche pour le développement. Lorsque le développement est terminé et doit être fusionné dans la branche de développement, la commande de fusion doit être utilisée.

Qu'est-ce qu'un conflit

Lors d'une fusion, des conflits peuvent survenir.

Le conflit se produit car différentes branches ont modifié le même emplacement lors de la fusion. Ainsi lors d'une fusion, git ne sait pas lequel vous souhaitez conserver, il soulève donc une question (rappel de conflit) et vous permet de sélectionner manuellement ce que vous souhaitez conserver pour résoudre le conflit.

La différence entre merge et rebase

1. La différence entre git log après avoir utilisé merge et rebase La commande de fusion ne conservera pas le commit de la branche fusionnée :

Quelle est la différence entre git rebase et merge ?

2. Façons de gérer les conflits :

  • (Un cerveau) Utilisez la commande de fusion pour fusionner des branches, résoudre des conflits, et exécutez git add et git commit -m'fix conflict'. Un commit sera généré à ce moment.

  • (Interactif) Utilisez la commande rebase pour fusionner des branches, résoudre les conflits, exécuter git add et git rebase --continue, aucun commit supplémentaire ne sera généré. L'avantage est que c'est « propre » et qu'il n'y aura pas de validations inutiles pour résoudre la branche sur la branche ; l'inconvénient est que s'il y a plusieurs validations dans la branche fusionnée, plusieurs conflits doivent être traités à plusieurs reprises.

3. La différence entre git pull et git pull --rebase : git pull effectue deux opérations, à savoir "obtenir" et fusionner. Par conséquent, ajouter un rebase signifie fusionner des branches dans la méthode rebase, et la valeur par défaut est la fusion.

Tutoriel recommandé : "Tutoriel Git"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn