web-dev-qa-db-fra.com

Est-il possible de modifier un message de commit sur GitHub?

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.

108
Matthew Peters
  1. 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.

  2. Pour tout engagement que vous souhaitez modifier, changez pick en reword.

  3. Enregistrez et quittez (dans vi: :wq).

  4. 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.

  5. 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.

149
Mureinik

Dans Intellij Idea, vous pouvez le faire si facilement.

  1. Contrôle de version ouvert (historique)
  2. Sélectionnez l'onglet journal
  3. Sélectionnez commettre pour changer le commentaire
  4. appuyez sur F2 (Mac fn + F2) et mettez à jour votre message de validation
29
fedrbodr

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
2
rob_7cc