Utiliser IntelliJ pour modifier le message de commit git

105

Peut-on modifier un message de commit git en utilisant IntelliJ, ou faut-il recourir à la ligne de commande?

Comment cela peut-il être fait s'il vous plaît?

James Raitsev
la source

Réponses:

86

Affichage => Outil Windows => Contrôle de version. ( Windows (Alt + 9) / OS X (Cmd + 9) )

IntelliJ 2017.1 et supérieur => Allez dans le journal et faites un clic droit + reformulez ou appuyez sur F2.

IntelliJ renommer commit

Tant que vous êtes sur la même succursale, (votre succursale extraite est la même)

Stefan Rein
la source
4
Cela semble être le seul moyen (à côté peut-être de la ligne de commande) de réviser les commentaires (sans faire de changement pour forcer une validation) avec WebStorm 2017.3. Cette fenêtre de contrôle de version apparaît via Alt + 9, ou View-> Tool Windows-> Version Control.
CODE-REaD
3
Dans Idea 2017.3, la commande décrite est nommée "Reword ..." au lieu de "Rename" (comme indiqué dans la capture d'écran :-)). F2 fonctionne également.
Volker Seibt
1
Quelqu'un a-t-il une idée de la raison pour laquelle "Modifier le message de validation ..." est grisé dans mon IntelliJ (2019.3.1)?
Cold_Class
@Cold_Class Était-ce votre message de validation? J'en ai un grisé qui est une fusion. C'est comme Merge branch 'develop' of REPO_URL into BRANCH_NAMEça que tu veux dire?
Stefan Rein le
@StefanRein - J'avais ce problème aujourd'hui et j'ai réalisé que j'étais en mode de sélection de cerises - cela doit être abandonné
Lost Crotchet
72

La modification est prise en charge: invoquez "Valider les modifications" et cochez la case "Modifier la validation" dans la boîte de dialogue de validation. Puis appuyez sur le bouton "Commit", et le commit sera modifié pour le précédent.

Cependant, le support est limité:

  • vous ne pouvez pas voir les détails du commit en cours de modification,
  • si vous n'avez pas de modifications non validées (par exemple, vous souhaitez simplement modifier le message du commit précédent sans y ajouter d'autres modifications), vous ne pourrez pas appeler "Commit".
LoKi
la source
12
La solution habituelle pour contourner le deuxième problème consiste à ajouter des caractères non importants (espaces, etc.) à un fichier afin que vous puissiez vous engager
leokom
Le support JetBrains m'a renvoyé aux demandes d'amélioration IDEA-81428 et IDEA-57979 . Cette question et réponse s'appliquent également à PyCharm.
Wil Cooley
10
Cette réponse n'est plus vraie depuis 2017.2. Vous pouvez le faire facilement maintenant: Version Controlpanneau> Logonglet> sélectionnez le dernier commit> appuyez sur F2. jetbrains.com/idea/whatsnew/#v2017-2-version-control
DLight
39

J'ai finalement trouvé une solution de contournement pour cela. Ce problème m'a troublé pendant des jours.

  1. Aller à l'onglet Contrôle de version - Journal
  2. Sélectionnez la version, une sous vos modifications. Faites un clic droit et dites "réinitialiser la branche actuelle ici"
  3. Sélectionnez "Soft" et cliquez sur Reset, c'est très important, vous devez cliquer sur soft uniquement pour que vos modifications ne soient pas perdues.
  4. Vérifiez le contrôle de version, les modifications locales, vos modifications seront disponibles dans la même liste de modifications
  5. Cliquez avec le bouton droit de la souris sur la liste des modifications et sélectionnez commit.
  6. Il vous montrera votre message de commit précédent, vous pouvez maintenant modifier les commentaires et dire commit et push

    Note: This solution uses android studio as intellij platform. 
    
Ashish Rawat
la source
1
Pour moi, dans IntelliJ 17.3, je peux utiliser l'élément de menu "Reword ... (F2)" dans le Contrôle de version: Journal pour simplement modifier directement le message de validation.
Claes Mogren
28

Vous pouvez également aller dans votre dossier git avec un terminal et un shell comme powershell, cmd ou bash (dépend de votre système), puis tapez:

git commit --amend -m "your new commit message"
Christopher J.
la source
3
Et comme IntelliJ fournit un terminal intégré, vous n'avez même pas besoin de quitter l'IDE. C'est probablement le moyen le plus rapide.
walen
14

Les messages de validation peuvent être modifiés lors d'un rebase. Appelez la Rebasecommande depuis leVCS menu, confirmez les paramètres de la branche, puis cliquez sur le bouton Rebase. Une liste de vos commits non exécutés vous sera présentée. Choisir lareword action dans le menu déroulant à gauche du message que vous souhaitez modifier.

Consultez la documentation git sur l' historique de réécriture pour plus de détails sur les autres actions de rebase.

teppique
la source
2
C'est l'une des meilleures options. Si vous avez déjà poussé vos modifications jusqu'à l'origine, l'EDI vous en avertira. C'est une bonne chose, comme si quelqu'un avait déjà retiré le commit que vous avez poussé, modifier le commit, même si simplement changer le message de commit, signifiera que tous ceux qui ont retiré le commit précédent devront également rebase. C'est généralement une "mauvaise chose".
Chris Cogdon
3

Dans l'onglet Journal, sélectionnez la validation et appuyez sur F2 (reformulation). C'est tout.

omilus
la source
2

Pour être honnête, le moyen le plus rapide de le faire est via la ligne de commande. Je sais que l'OP demandait de le faire via IntelliJ (c'est comme ça que j'ai trouvé cette question, j'essayais de le faire dans PHPStorm), mais sérieusement, c'est tellement plus facile via la ligne de commande.

Lorsque dans le bon dossier dans votre terminal / type d'invite de commande

git commit --amend

Vous verrez alors le dernier message de validation, éditez simplement le texte et enregistrez le fichier, travail terminé!

Si vous voulez changer l'éditeur (il est par défaut vi), alors utilisez cette commande, en changeant "vim" par l'éditeur de votre choix.

git config --global core.editor "vim"

c'est-à-dire que les utilisateurs de Windows peuvent vouloir ...

git config --global core.editor "notepad"

Source: https://help.github.com/articles/changing-a-commit-message/

Steve Childs
la source
1
Votre réponse est trop similaire aux autres, et apporte une méthode encore moins pratique. git commit --amend -m my_new_messageest utilisé pour modifier le message de validation directement à partir de la ligne de commande.
Christopher J.
Je pense que celui-ci est bon. Nous pouvons modifier le message en fonction du faux message. Et l'éditeur "VI" est bon aussi.
Leo Lee
@ChristopherJ. - excuses, je n'ai pas vu votre réponse quand j'ai posté ceci. Je vais le laisser ici car j'ai l'ajout de changement d'éditeur si vous n'aimez pas la valeur par défaut.
Steve Childs
2

Dans le cas, 2018.3 et même chose avec 2017.1

Alt + 9(fenêtre de contrôle de version)

Et clic droit -> menu contextuel cliquez sur "Reformuler ... F2"

OU

shorcut F2Vous pouvez modifier le message.

rouge chaud
la source
1

Dans JetBrains Go to View -> Version Control-> Cela ouvrirait l'onglet du journal de contrôle de version en bas de l'écran Go to Loget vous pourrez voir le commit que vous avez fait en dernier.Cliquez dessus avec le bouton droit, puis sélectionnezundo commit

Bingo! Vous avez annulé tout votre commit et le message est effacé. Vous pouvez également choisir de faire une réinitialisation logicielle au cas où vous ne voudriez que modifier le message de validation

Emjey
la source