Maison  >  Article  >  outils de développement  >  A quoi sert rebase dans git

A quoi sert rebase dans git

WBOY
WBOYoriginal
2022-01-04 16:58:0618727parcourir

Dans git, rebase peut modifier, supprimer, copier et coller une certaine période d'historique de validation linéaire. Il est souvent utilisé pour fusionner des validations et coller une certaine période de validation dans une autre branche. La syntaxe est "paramètre de rebase git [point de départ". ] [point de terminaison]".

A quoi sert rebase dans git

L'environnement d'exploitation de cet article : système Windows 10, Git version 2.30.0, ordinateur Dell G3.

À quoi sert rebase dans git ?

rebase est une commande très charmante dans git si elle est utilisée correctement, elle améliorera considérablement l'efficacité de votre travail, au contraire, si elle est utilisée sans discernement, elle entraînera des problèmes ; aux autres personnes de l'équipe. Venez en difficulté. Sa fonction est brièvement résumée comme suit : vous pouvez modifier, supprimer, copier et coller un certain historique de soumission linéaire, par conséquent, l'utilisation raisonnable de la commande rebase peut rendre notre historique de soumission propre et concis ;

Prémisse : Ne modifiez aucun commit qui a été soumis à l'entrepôt public via le rebase (sauf pour les branches dans lesquelles vous jouez seul)

1 Fusionnez plusieurs commits en un seul commit complet

Lorsque nous nous engageons dans l'entrepôt local Plusieurs fois, avant de transmettre les soumissions locales à l'entrepôt public, afin de rendre les enregistrements de soumission plus concis et clairs, nous espérons fusionner les trois enregistrements de soumission des branches suivantes B, C et D en une soumission complète, puis la pousser au dépôt public.

A quoi sert rebase dans git

Nous avons maintenant ajouté quatre commits sur la branche test et notre objectif est de fusionner les trois derniers commits en un seul commit :

A quoi sert rebase dans git

Ici, nous utilisons la commande :

  git rebase -i  [startpoint]  [endpoint]

où -i signifie --interactive , qui affiche une interface interactive permettant à l'utilisateur de modifier et de terminer l'opération de fusion. [startpoint] [endpoint] spécifie un intervalle d'édition. Si [endpoint] n'est pas spécifié, le point final de l'intervalle est pointé par la branche actuelle HEAD. par défaut. commit (remarque : cet intervalle spécifie un intervalle ouvert au début et fermé à la fin).

Après avoir consulté le journal de bord, nous exécutons la commande suivante :

git rebase -i 36224db

ou :

git rebase -i HEAD~3

Ensuite, nous verrons l'interface suivante :

A quoi sert rebase dans git

La partie non commentée répertoriée ci-dessus est notre opération de rebase Pour toutes les soumissions incluses, les commentaires ci-dessous sont les instructions de commande fournies par git. Le pick devant chaque identifiant de commit indique le type d'instruction. Git nous fournit les commandes suivantes :

  • pick : conserver le commit (abréviation : p)

  • reword : conserver le commit, mais je dois le modifier. it Le commentaire du commit (abréviation : r)

  • edit : garder le commit, mais je veux arrêter et modifier le commit (pas seulement modifier le commentaire) (abréviation : e)

  • squash : combiner ce commit avec le Fusion du commit précédent (abréviation : s)

  • fixup : fusionne ce commit avec le commit précédent, mais je ne veux pas conserver les informations de commentaire du commit (abréviation : f)

  • exec : exécute la commande shell (abréviation : x)

  • drop : Je souhaite supprimer ce commit (abréviation : d)

Selon nos besoins, nous éditons le contenu du commit comme suit :

A quoi sert rebase dans git

Puis l'interface de modification du commentaire :

A quoi sert rebase dans git

Après l'édition, enregistrez La fusion des commits est maintenant terminée :

A quoi sert rebase dans git

Apprentissage 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