Używanie IntelliJ do zmiany komunikatu git commit

105

Czy można zmienić komunikat git commit za pomocą IntelliJ, czy powinienem uciec się do wiersza poleceń?

Jak można to zrobić, proszę?

James Raitsev
źródło

Odpowiedzi:

86

Widok => Narzędzia Windows => Kontrola wersji. ( Windows (Alt + 9) / OS X (Cmd + 9) )

IntelliJ 2017.1 i nowsze => Przejdź do Logu i kliknij prawym przyciskiem + przeredaguj lub naciśnij F2.

Zmiana nazwy IntelliJ

Gdy jesteś w tym samym oddziale (Twoja wyewidencjonowana gałąź jest taka sama)

Stefan Rein
źródło
4
Wydaje się, że jest to jedyny sposób (może poza wierszem poleceń) na poprawienie komentarzy (bez wprowadzania zmian wymuszających zatwierdzenie) w WebStorm 2017.3. To okno kontroli wersji jest wyświetlane przez Alt + 9 lub Widok-> Narzędzia Windows-> Kontrola wersji.
CODE-REaD
3
W Idea 2017.3 opisane polecenie nosi nazwę „Reword ...” zamiast „Rename” (jak pokazano na zrzucie ekranu :-)). F2 również działa.
Volker Seibt
1
Czy ktoś ma pomysł, dlaczego „Edytuj komunikat zatwierdzenia…” jest wyszarzona w moim IntelliJ (2019.3.1)?
Cold_Class
@Cold_Class Czy to była twoja wiadomość do zatwierdzenia? Mam jeden wyszarzony, który jest połączeniem. Jak Merge branch 'develop' of REPO_URL into BRANCH_NAMEjest to co masz na myśli?
Stefan Rein
@StefanRein - Miałem dziś ten problem i zdałem sobie sprawę, że jestem w trybie wyboru wiśni - to musi zostać przerwane
Lost Crotchet
72

Zmiana jest obsługiwana: wywołaj „Zatwierdź zmiany” i zaznacz pole wyboru „Popraw zatwierdzenie” w oknie dialogowym Zatwierdź. Następnie naciśnij przycisk „Zatwierdź”, a zatwierdzenie zostanie zmienione na poprzednie.

Jednak wsparcie jest ograniczone:

  • nie widzisz szczegółów zmiany zatwierdzenia,
  • jeśli nie masz żadnych niezatwierdzonych zmian (na przykład chcesz po prostu zmienić komunikat poprzedniego zatwierdzenia bez dodawania do niego kolejnych zmian), nie będziesz mógł wywołać "Commit".
LoKi
źródło
12
Zwykłe obejście drugiego problemu polega na dodaniu do pliku
kilku nieważnych
Wsparcie JetBrains odesłało mnie do wniosków o ulepszenia IDEA-81428 i IDEA-57979 . To pytanie i odpowiedź dotyczą również PyCharm.
Wil Cooley
10
Ta odpowiedź nie jest już prawdziwa od 2017 r. 2. Możesz to teraz łatwo zrobić: Version Controlpanel> Logkarta> wybierz ostatnie zatwierdzenie> naciśnij F2. jetbrains.com/idea/whatsnew/#v2017-2-version-control
DLight
39

Wreszcie znalazłem obejście tego problemu. Ten problem niepokoił mnie przez wiele dni.

  1. Przejdź do zakładki Kontrola wersji - Dziennik
  2. Wybierz wersję, jedną poniżej zmian. Kliknij prawym przyciskiem myszy i powiedz „Zresetuj bieżącą gałąź do tego miejsca”
  3. Wybierz „Soft” i kliknij Reset, jest to bardzo ważne, musisz kliknąć tylko soft, aby zmiany nie zostały utracone.
  4. Sprawdź kontrolę wersji, lokalne zmiany, twoje zmiany będą dostępne na tej samej liście zmian
  5. Kliknij prawym przyciskiem myszy listę zmian i wybierz opcję Zatwierdź.
  6. Pokaże ci poprzednią wiadomość o zatwierdzeniu, teraz możesz zmienić komentarze i powiedzieć commit i push

    Note: This solution uses android studio as intellij platform. 
    
Ashish Rawat
źródło
1
Dla mnie, w IntelliJ 17.3, mogę użyć pozycji menu "Reword ... (F2)" w Kontrola wersji: dziennik, aby bezpośrednio edytować komunikat o zatwierdzeniu.
Claes Mogren,
28

Możesz także przejść do folderu git z terminalem i powłoką, taką jak powershell, cmd lub bash (w zależności od twojego systemu), a następnie wpisz:

git commit --amend -m "your new commit message"
Christopher J.
źródło
3
A ponieważ IntelliJ zapewnia zintegrowany terminal, nie musisz nawet wychodzić z IDE. To prawdopodobnie najszybszy sposób.
walen
14

Komunikaty o zatwierdzeniach można edytować podczas ponownej bazy danych. Wywołaj Rebasepolecenie z VCSmenu, potwierdź ustawienia gałęzi, a następnie kliknij przycisk Rebase. Zostanie wyświetlona lista niezakończonych zatwierdzeń. Wybierz rewordczynność z listy rozwijanej po lewej stronie wiadomości, którą chcesz edytować.

Sprawdź dokumentację git dotyczącą historii przepisywania, aby uzyskać szczegółowe informacje na temat innych działań rebase.

teppic
źródło
2
To jedna z lepszych opcji. Jeśli wprowadziłeś już zmiany do źródła, IDE ostrzeże Cię. To dobrze, jakby ktoś już wyciągnął zatwierdzenie, które wypchnąłeś, zmiana zatwierdzenia, nawet jeśli tylko zmieniła komunikat o zatwierdzeniu, będzie oznaczać, że wszyscy, którzy pobrali poprzednie zatwierdzenie, również będą musieli ponownie bazować. Na ogół jest to „zła rzecz”.
Chris Cogdon,
3

Na karcie Dziennik wybierz zatwierdzenie i naciśnij F2 (Reword). Otóż ​​to.

omilus
źródło
2

Szczerze mówiąc, najszybszym sposobem na to jest użycie wiersza poleceń. Wiem, że OP pytał o zrobienie tego przez IntelliJ (tak znalazłem to pytanie, próbowałem to zrobić w PHPStorm), ale poważnie, jest to o wiele łatwiejsze z linii poleceń.

W odpowiednim folderze w terminalu / wierszu polecenia

git commit --amend

Następnie zostanie wyświetlony ostatni komunikat dotyczący zatwierdzenia, po prostu edytuj tekst i zapisz plik, praca wykonana!

Jeśli chcesz zmienić edytor (domyślnie vi), użyj tego polecenia, zmieniając "vim" na wybrany przez siebie edytor.

git config --global core.editor "vim"

tzn. użytkownicy systemu Windows mogą chcieć ...

git config --global core.editor "notepad"

Źródło: https://help.github.com/articles/changing-a-commit-message/

Steve Childs
źródło
1
Twoja odpowiedź jest zbyt podobna do innych i przynosi jeszcze mniej wygodną metodę. git commit --amend -m my_new_messagesłuży do zmiany komunikatu o zatwierdzeniu bezpośrednio z wiersza poleceń.
Christopher J.
Myślę, że ten jest dobry. Możemy modyfikować wiadomość na podstawie fałszywej wiadomości. Edytor „VI” też jest dobry.
Leo Lee
@ChristopherJ. - przepraszam, nie widziałem twojej odpowiedzi, kiedy to opublikowałem. Zostawię to tutaj, ponieważ mam dodatek do zmiany edytora, jeśli nie podoba ci się domyślny.
Steve Childs
2

W przypadku 2018.3 i to samo z 2017.1

Alt + 9(okno kontroli wersji)

I kliknij prawym przyciskiem myszy -> w menu kontekstowym kliknij "Reword ... F2"

LUB

skrót F2Możesz edytować wiadomość.

czerwony gorący
źródło
1

W JetBrains Go to View -> Version Control-> Spowoduje to otwarcie zakładki dziennika kontroli wersji na dole ekranu Go to Logi zobaczysz ostatnie zatwierdzenie, które wykonałeś Kliknij prawym przyciskiem myszy i wybierzundo commit

Bingo! Cofnąłeś swoje zatwierdzenie i wiadomość została usunięta. Możesz także wybrać miękki reset w przypadku, gdy chcesz zmienić tylko komunikat o zatwierdzeniu

Emjey
źródło