Commits multiples à l'aide de Cherry-Pick dans Git

Abdul Jabbar 30 janvier 2023
  1. Différence entre les commandes Git merge et Git Cherry-Pick dans Git
  2. le commit de correction de bogues Cherry-picking dans Git
  3. Plusieurs commits Cherry-picking dans Git
  4. Utilisez la commande Rebase pour sélectionner les modifications souhaitées sur une branche spécifique dans Git
Commits multiples à l'aide de Cherry-Pick dans Git

Après avoir terminé notre travail de branchement, nous n’avons généralement pas besoin de fusionner dans les fichiers existants.

Nous avons souvent besoin d’obtenir quelques commits particuliers de différentes branches plutôt que de tous les traiter dans une branche particulière. C’est la raison pour laquelle la commande git-cherry pick est utilisée dans Git.

Différence entre les commandes Git merge et Git Cherry-Pick dans Git

git merge est identique à la commande git cherry-pick. La commande Git cherry-pick est utilisée pour assimiler les modifications d’une autre branche à la branche souhaitée.

Lors de l’utilisation de la commande merge, nous sommes généralement autorisés à assimiler tous les changements effectués dans l’autre branche dans celui que nous souhaitons.

Mais d’un autre côté, nous n’avons parfois besoin que de quelques changements dans la branche souhaitée. Et pour cela, la commande Git cherry-pick est l’option la plus sûre.

le commit de correction de bogues Cherry-picking dans Git

Le Cherry-picking peut généralement être expliqué comme la mise à jour d’un correctif de bogue vers l’ancienne version de notre logiciel, ce qui signifie que pour récupérer uniquement certains correctifs de bogues explicites, parmi des centaines de correctifs de bogues dans une branche particulière.

Ensuite, utilisez ce commit particulier corrigé par un bogue à l’avenir pour une raison quelconque. Cette instruction ou commande est principalement utilisée lorsque l’équipe souhaite corriger un bogue important dans la production ou l’application Web ou de bureau en direct.

À l’aide de cette commande, l’équipe prépare la version et la déploie dans l’environnement de production ou en direct.

Plusieurs commits Cherry-picking dans Git

Pour certains cas, nous souhaitons appliquer le cherry-pick sur plusieurs commits simultanément dans différentes branches. Ensuite, nous devons d’abord identifier les deux commits et utiliser les commandes suivantes dessus.

Après cela, le cherry-picking peut être effectué sur les multiples commits en utilisant la notation par points entre les branches A et B, comme indiqué ci-dessous dans la commande suivante :

$ git cherry-pick A..B

Après application de cette commande, commit A ne sera pas assimilé au cherry-pick.

Pour assimiler commit A également, on peut utiliser la syntaxe suivante :

$ git cherry-pick A^..B
Noter
Commit doit être placé dans l’ordre parfait. Commit A doit être plus ancien que commit B. Si ce n’est pas dans un ordre parfait, la commande utilisée échouera et nous devons l’utiliser selon la condition indiquée ci-dessus.

Utilisez la commande Rebase pour sélectionner les modifications souhaitées sur une branche spécifique dans Git

Nous avons un autre moyen de sélectionner les modifications ou les commits souhaités dans une branche spécifique en utilisant la commande rebase dans Git. On peut rebase la commande avec l’option onto dans cette méthode.

On peut utiliser git rebase --onto dans deux types de cas :

  • La première condition est que nous ayons une branche qui souhaite remplacer sa branche mère dans un référentiel.
  • Deuxièmement, nous voulons supprimer immédiatement certains commits de notre branche actuelle dans un référentiel.

Supposons que notre branche est la branche qui se termine en D, et c’est la branche souhaitée vers laquelle nous voulons déplacer C-Y.

git reset --hard Y

git rebase --onto A B

Cela nous aide à rebaser à partir du point particulier ou à s’engager sur le commit souhaité. Nous pouvons gérer complètement ce qu’il faut rebaser et où rebaser dans une branche spécifique des commits.

Auteur: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

Article connexe - Git Commit