Git Extensions : opérations de base

Voici quelques opérations utiles sur GitExtensions

Cherry Pick

Le Cherry Pick est en gros une duplication d’un commit existant. Il permet, à partir d’un commit effectué, d’en préparer un nouveau contenant exactement les même modifications.

1. Identifier le commit que l’on souhaite appliquer ailleurs

Ici est sélectionné un commit de la branche “MS-3348” tandis qu’on se trouve sur Master

2. Click droit > Cherry Pick créer un commit similaire

Le principe du cherry pick ressemble à celui du “CTRL-C”

3. Paramétrer le commit à venir

La dialogbox de confirmation

“Automatically create…” commitera automatiquement les modification,
”Add commit reference…” ajoutera le SHA du commit source dans le message à venir

4. Selon les choix fait, commiter et/ou pusher le commit préparé

Le cherry pick est très utile pour :

  • Récupérer des modifications d’une branche à une autre
  • Déplacer un commit de la branche Master à la branche dédié (en cas d’erreur par exemple)
  • Récupérer les différences depuis Master sans effectuer tout un Merge

Source : https://gittutorial.gitbook.io/practical-git-via-gitextensions/how-to-make-a-commit/cherry-pick

Squash

Sur une branche issue de master, effectuer les commits nécessaires au découpage des opérations.

3 commits sont réalisées en local sur la branche -Test-squash-

L’objectif est maintenant de récupérer les changements de la branche -Test-squash- (les 3 commits) en un seul commit sur -master- afin de simplifier la lecture des modifications sur Git.

Sur master, on voit bien que la branche local -Test-squash- dispose de 3 commits

Les commits étant présent sur les autres branches il faut d’abord :

  1. Commencer par un merge
  2. Choisir l’option de Squash
  3. Commit les modifications remontées par le squash
Merge into current branch…” sur -Test-squash- depuis -master-
Choisir “Keep a single branch…”, affiche “Show Advanced options” puis “Squash commits

Une fois [Merge] validé, un nouveau commit apparaîtra :

Il restera seulement la troisième étape qui permettra de retrouver, dans le commit préparé, le résultat de l’ensemble des commits de la branche -Test-squash-.

Commit/Push le commit rassemblant toutes les modifications des 3 commits précédant.

Une fois le travail commité, la branche local peut-être supprimée.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *