Ceci est une ancienne révision du document !
Table des matières
Gestion des commits
Cette page explique certaines opérations courantes sur les commits (git commit
, git log
).
Commiter les changements
Avec message:
$ git commit -m "Correction de bogue."
En ajoutant les changements :
$ git commit -a -m "Correction de bogue."
Spécifier l'auteur:
$ git commit --author="User Name <username@domain.com>" -m "The commit message"
Changer le message d'un commit
Le commit ne doit pas avoir été poussé.
$ git commit --amend -m "Nouveau message"
Voir les commentaires à ce sujet sur SO
Pour changer le message d'un X message précédent non poussé :
$ git rebase -i HEAD~X
Changer les messages dans l'éditeur. Mettre edit
au lieu de pick
.
$ git commit --amend $ git rebase --continue
Cherry-Pick de commits
Le cherry-pick permet de prendre un commit d'une autre branche et de l'appliquer sur la branche actuelle. Ceci fonctionne avec le SHA-1 du commit. On peut utiliser les premiers caractères du SHA1.
Pour appliquer un commit d'une autre branche à la branche courante:
$ git cherry-pick <commit-hash>
$ git cherry-pick 91e263a
Ceci aura pour effet d'avoir un commit supplémentaire sur la page actuelle, avec le même message et le même auteur que le commit original.
Liste des commits d'une autre branche
On utilise la commande log pour voir les commits d'une autre branche et faire le cherry-pick.
Liste des commits sur une autre branche avec le hash:
$ git log branche-courante..autre-branche --pretty=oneline $ git log branche-courante..autre-branche --pretty="%h - %an, %ar : %s"
On peut utiliser --no-pager
pour avoir la sortie des commits directement dans le shell (stdout).
Chercher les commits par message
Rechercher test
dans les messages de tous les commits:
$ git --no-pager log --all --pretty="%h - %an, %ar : %s" --grep='test'