Commandes de l'historique de validation de Git
- Modifier le commit et les messages précédents
- Modifier et déplacer le commit et les messages précédents
- Quitter l'opération de rebasage
- Afficher le journal de référence
- Afficher le journal de référence de l'extrémité d'une branche
- Supprimer un commit précédent
- Réinitialiser une opération de rebasage
- Annuler la réinitialisation précédente
- Copier un commit à partir d'une autre branche
- Rechercher un message de validation
Modifier le commit et les messages précédents
$ git commit --amend
Ajoutez l'option --amend
pour écraser le commit le plus récent de la branche sur laquelle vous travaillez.
En l'absence de fichiers dans un index, vous pouvez revalider le commit précédent en ajoutant l'option --amend
. Vous êtes alors invité à modifier le message de validation existant.
Voir aussi:
- Bases de Git > Modification de commits
-
Comment utiliser Git > Modifier un commit
Modifier et déplacer le commit et les messages précédents
$ git rebase -i <commit>
Si vous ajoutez un hachage de validation, vous obtenez une liste de toutes les validations jusqu'à la plus récente. Recherchez le commit que vous souhaitez modifier et modifiez cette ligne en remplaçant pick
par edit
, puis enregistrez et quittez.
Ajoutez ensuite l'option --amend
pour valider. Un écran permettant d'ajouter un message s'affiche. Modifiez le message.
$ git commit --amend
Enfin, ajoutez l'option --continue
pour exécuter un rebasage.
$ git rebase --continue
Voir aussi:
- Collaboration dans Git > Rebasage de branches
-
Comment utiliser Git > Combiner et déplacer un commit
Quitter l'opération de rebasage
$ git rebase --abort
L'ajout de l'option --abort
vous permet de quitter l'opération de rebasage.
Afficher le journal de référence
$ git reflog
La commande reflog vous permet d'afficher une liste des commits que HEAD indiquait précédemment.
08084a5 HEAD@{0}: commit: append description of the pull command
99daed2 HEAD@{1}: commit: append description of the commit command
48eec1d HEAD@{2}: checkout: moving from main to issue1
326fc9f HEAD@{3}: commit: append description of the add command
48eec1d HEAD@{4}: commit (initial): first commit
Les commits supprimés et aboutis collectés par l'opération de rebasage s'affichent alors.
Afficher le journal de référence de l'extrémité d'une branche
$ git reflog <ref>
Cette commande affiche une liste de commits correspondant à chacune des modifications apportées à l'extrémité de <ref>
, comme indiqué ci-dessous.
445e0ae issue1@{0}: commit (merge): Merge branch 'main' into issue1
1c904bd issue1@{1}: commit (amend): modify description of the pull command
08084a5 issue1@{2}: commit: append description of the pull command
99daed2 issue1@{3}: commit: append description of the commit command
48eec1d issue1@{4}: branch: Created from 48eec1ddf73a7fb508ef664efd6b3d873631742f
L'historique de rebasage des commits supprimés et existants s'affiche alors.
Supprimer un commit précédent
$ git reset --hard HEAD~
Voir aussi:
- Bases de Git > Suppression de commits
-
Comment utiliser Git > Supprimer un commit précédent
Réinitialiser une opération de rebasage
$ git reset --hard <commit>
La commande reflog permet de rechercher des commits avant leur rebasage. Identifiez le hachage de validation ou la valeur de [HEAD@{number}]
du commit survenu avant le rebasage. Dans cet exemple, 71bdfbd
et HEAD@{4}
sont les références au commit.
a51f8d2 HEAD@{0}: rebase -i (finish): returning to refs/heads/dev
a51f8d2 HEAD@{1}: rebase -i (squash): update 1
3a273e1 HEAD@{2}: rebase -i (squash): updating HEAD
f55ef69 HEAD@{3}: checkout: moving from dev to f55ef69
71bdfbd HEAD@{4}: commit: update 2
f55ef69 HEAD@{5}: commit (amend): update 1
Ajoutez la valeur de hachage (71bdfbd
et HEAD@{4}
) à <commit>
lors de l'exécution de la commande de réinitialisation.
La position de la tête de la branche est alors déplacée vers le commit avant l'exécution du rebasage. L’état de la branche est désormais identique à celui qui existait avant l’exécution du rebasage.
Annuler la réinitialisation précédente
$ git reset --hard ORIG_HEAD
ORIG_HEAD fait référence au commit avant la réinitialisation. Vous pouvez rétablir la réinitialisation précédente en effectuant une réinitialisation sur ORIG_HEAD.
Copier un commit à partir d'une autre branche
$ git cherry-pick "<commit>"
Le commit identifié par son hachage est copié dans la branche active.
Voir aussi
- Bases de Git > Copie de commits vers d'autres branches
-
Comment utiliser Git > Copier un commit vers une autre branche
Rechercher un message de validation
$ git log --grep "<pattern>"
Affiche les commits contenant le texte spécifié dans <pattern>
.