Bonjour à tous !
Plus trop de nouvelles du projets ces derniers mois …
Mes études me prennent tout mon temps.
Aujourd’hui, j’ai décidé de nettoyer un peu le dépôt git d’Opencomp. En effet, au fil du temps, on fait quelques erreurs lorsque l’on Commit. Par exemple, sur le dépôt d’Opencomp, plusieurs Commit appartenant à des utilisateurs identiques apparaissaient avec des noms d’utilisateurs différents !
Cela se produit par exemple si l’on Commit sans avoir défini son git.username
ou alors si l’on s’est trompé lors de la définition de cette variable mais que l’on a déjà Commité et envoyé sur le serveur distant …
Alors, comment faire pour changer l’auteur d’un Commmit ?
Dans le répertoire du dépôt Git, créez un fichier changeuser.sh qui contiendra les lignes suivantes :
#!/bin/sh git filter-branch --commit-filter ' if [ "$GIT_COMMITTER_NAME" = "LeNomDutilisateurAmodifier" ]; then GIT_COMMITTER_NAME="LeNouveauNomDutilisateur"; GIT_AUTHOR_NAME="LeNouveauNomDutilisateur"; GIT_COMMITTER_EMAIL="[email protected]"; GIT_AUTHOR_EMAIL="[email protected]"; git commit-tree "$@"; else git commit-tree "$@"; fi' HEAD
Donnez les droits d’exécution au script pour l’utilisateur courant :
chmod u+x changeuser.sh
Exécutez le script :
./changeuser.sh
Supprimez le fichier du cache des références de Git :
rm -rf .git/refs/original/
Poussez ensuite les nouvelles modifications vers votre dépôt distant :
git push -f
Si vous avez plusieurs utilisateurs à modifier, vous pouvez ré-effectuer la procédure autant de fois que vous le souhaitez.