Git : modifier un message de validation existant

Les erreurs sont fréquentes, nous en commettons tous. C'est pourquoi ils mettent des gommes sur les crayons. Et ce n'est pas différent avec des outils comme Git. Bien que certaines modifications puissent être difficiles à annuler, il existe généralement un moyen.

Et si vous voulez modifier un message de commit existant ? Heureusement, c'est simple à faire dans Git, mais la méthode peut changer un peu en fonction de certains facteurs.

Correction de la dernière validation, pas encore transmise à distance

C'est le cas le plus simple puisqu'il n'y a pas besoin de modifier un dépôt distant, il vous suffit de modifier le vôtre. Dans ce cas, vous pouvez utiliser la commande suivante :

$ git commit --amend

L'exécution de cette commande ouvrira un éditeur dans lequel vous pourrez modifier le dernier message de validation. Une fois que vous avez terminé et que vous enregistrez/fermez l'éditeur, le message de validation sera modifié.

Personnellement, je préfère faire la plupart des choses sur la ligne de commande, ce que vous pouvez faire en ajoutant un argument et un message à la commande ci-dessus :

$ git commit --amend -m "Added a new file"

Le faire de cette façon n'ouvrira pas l'éditeur, mais modifiera simplement le message de validation immédiatement.

Fix Last Commit, Push to Remote

C'est un autre cas courant et un peu plus difficile à résoudre, non seulement parce que nous devons modifier notre propre référentiel, mais nous devons également modifier le référentiel distant, qui pourrait être plus avancé que votre branche locale.

La première étape consiste à modifier le dernier commit, comme nous l'avons fait dans la section précédente :

$ git commit --amend -m "Added a new file"

Ensuite, vous devez pousser ces modifications vers le référentiel distant. Cependant, cela doit être fait en utilisant le --force drapeau.

$ git push <remote> <branch> --force

Nous devons le faire de cette façon afin d'écraser le référentiel distant avec notre propre état local.

Sachez qu'en forçant la poussée, vous perdre tous les commits sur la branche locale que vous n'avez pas déjà dans votre branche locale. Procéder avec prudence!

Consultez notre guide pratique et pratique pour apprendre Git, avec les meilleures pratiques, les normes acceptées par l'industrie et la feuille de triche incluse. Arrêtez de googler les commandes Git et en fait apprendre il!

Si vous pouvez attraper l'erreur assez rapidement, alors faire le changement ne sera pas un problème. Sinon, vous devrez peut-être trouver une autre solution pour éviter de perdre les modifications apportées après le message de validation que vous souhaitez modifier.

Utiliser la rebase interactive

Une autre option, plus flexible que les solutions décrites précédemment, consiste à utiliser un rebase interactif. Cela vous permet d'inspecter les N derniers commits et d'y apporter des modifications, y compris la sélection, l'écrasement, etc.

Pour démarrer le rebase, vous pouvez utiliser la commande suivante :

$ git rebase -i HEAD~n

Ici, n est le nombre de commits que vous souhaitez inspecter et modifier. Vous verrez alors une liste de commits, semblable à ceci :

$ $ git rebase -i HEAD~4
pick 788ebf0 Oops, I forgot to add a new file
pick ced1329 Fixed a super critical bug
pick 5e9cdc5 Added a new file



















Comme vous pouvez le voir, tous les N derniers commits sont répertoriés et vous pouvez modifier leurs messages si nécessaire.

Horodatage:

Plus de Stackabuse