Existe-t-il un moyen de modifier un message de validation après avoir validé et transmis à GitHub? Je vois qu'il y a un 'ajouter une note' ainsi que des commentaires en ligne, mais pas l'édition réelle d'un message de commit. Il y a aussi 'amend commit' dans les extensions git mais cela ne modifie pas le message existant.
git rebase -i <commit hash you want to change>^
Cela ouvrira votre éditeur par défaut (généralement vi ) avec une liste de commits et d’actions pour chacun. Par défaut, l'action est pick
.
Pour tout engagement que vous souhaitez modifier, changez pick
en reword
.
Enregistrez et quittez (dans vi: :wq
).
Pour chaque validation, vous aurez un éditeur pour éditer le message de validation. Changez-le comme bon vous semble, sauvegardez et quittez.
Une fois que vous avez terminé de modifier tous les messages de validation, vous revenez à l'invite de commande et créez une nouvelle arborescence avec les messages mis à jour.
Vous pouvez maintenant les télécharger sur github en utilisant git Push Origin --force
.
Si vous avez juste besoin de réparer votre dernier commit, vous pouvez remplacer les étapes 1 à 4 par git commit --amend
.
Dans Intellij Idea, vous pouvez le faire si facilement.
Une autre option consiste à créer une "validation d'errata" supplémentaire (et Push) faisant référence à l'objet de validation contenant l'erreur - la nouvelle validation d'errata fournit également la correction. Une validation errata est une validation sans modification de code de fond, mais un message de validation important. Par exemple, ajoutez un espace dans votre fichier Lisez-moi et validez cette modification avec le message de validation important, ou utilisez l'option git --allow-empty
. C’est certainement plus facile et plus sûr que de changer de base, cela ne modifie pas l’histoire réelle et garde l’arbre de branche propre (utiliser amend
est également un bon choix si vous corrigez le dernier commit, mais un commit errata peut être un bon choix pour anciens commets). Ce genre de chose arrive si rarement que le simple fait de documenter l'erreur est suffisant. À l'avenir, si vous devez rechercher un mot-clé dans le journal git, il se peut que le commit original (erroné) n'apparaisse pas car le mot-clé incorrect a été utilisé dans ce commit original (la faute de frappe d'origine). Toutefois, le mot-clé apparaîtra. dans le commit d'errata qui vous indiquera ensuite le commit d'origine contenant la faute de frappe. Voici un exemple:
$ git log commit 0c28141c68adae276840f17ccd4766542c33cf1d Auteur: Premier Dernier Date: mer 8 août 15:55:52 2018-0600 . .] Errata commit: Ce commit n'a aucun changement matériel. Ce commit est fourni uniquement pour documenter une correction apportée à un message de validation précédent. Ceci concerne l'objet commit e083a7abd8deb5776cb304fa13731a4182a24be1 Message de validation incorrect d'origine: Changement de la couleur de fond en rouge Correction (* changement mis en surbrillance *): Changement de la couleur de fond en * bleu * commit 032d0ff0601bff79bdef3c6f0a02ebfa061c4ad4 Auteur: Premier Dernier Date: mer août 8 15:43:16 2018-0600 Un message de confirmation provisoire [.____. .] commit e083a7abd8deb5776cb304fa13731a4182a24be1 Auteur: Premier Dernier Date: mer. août 8 13:31:32 2018-0600 Couleur de fond changée en rouge