Git : changer l'auteur (name et email) d'un commit
Vous avez développé un projet depuis un autre ordinateur que celui que vous utilisez d'habitude, et, en commitant trop rapidement votre travail, vous n'avez pas fait attention que l'auteur (le nom et l'email du commiter) n'est pas celui que vous utilisez habituellement ? Et vous souhaitez réparer cela ?Alors cet article est fait pour vous !
Changer l'auteur (name et email) du dernier commit
Si vous souhaitez modifier l'auteur (name et email) du tout dernier commit, il vous suffit d'utiliser cette commande :git commit --amend --author="David <monadress@email.fr>"
L'auteur (name et email) de votre dernier commit est bien modifié.Changer l'auteur (name et email) d'un commit plus ancien ou de plusieurs commits
Si vous souhaitez modifier l'auteur (name et email) d'un commit autre que le dernier commit, ou de plusieurs commits à la fois, alors il faudra utiliser la commandegit rebase
.Tout d'abord, allez chercher le hash du dernier commit dont l'auteur est correct. Le hash, c'est l'identifiant qui ressemble à quelque chose comme
ze9g4h6r8hjesrqyzeyh4r6wjh
.Et ensuite, vous exécutez la commande :
git rebase -i -p ze9g4h6r8hjesrqyzeyh4r6wjh
Cette commande vous ouvre un éditeur avec la liste des commits qui ont été commités après le dernier commit dont l'auteur est correct (celui qui correspond au hash que vous avez renseigné).Devant chaque hash des commits, vous avez la possibilité de changer le verbe et d'écrire soit "pick", soit "reword", soit "edit".
Nous allons mettre "edit" devant chaque commit sur lesquels nous voulons changer l'auteur.
Appuyez sur Echap, puis :wq et Entrée.
Git effectue un traitement et vous laisse sur le commit le plus ancien. On en profite pour en changer l'auteur :
git commit --amend --author="David <monadress@email.fr>"
Puis, on passe au prochain commit :git rebase --continue
On répète les deux commandes ci-dessus :git commit --amend --author="David <monadress@email.fr>"
git rebase --continue
Et ainsi de suite jusqu'au dernier commit.Une fois arrivé au dernier commit, git vous fait revenir au dernier commit, et les changements d'auteur (name et email) des commits ont bien été pris en compte.