Jak edytować niepoprawną wiadomość o zatwierdzeniu za pomocą TortoiseGit?


Odpowiedzi:


161

Jeśli zatwierdzenie jest nagłówkiem bieżącej gałęzi, jest to łatwe.

  1. Menu kontekstowe -> Git Commit
  2. Zaznacz pole wyboru „Zmień ostatnie zatwierdzenie”
  3. Popraw komunikat o zatwierdzeniu
  4. dobrze

Jeśli zatwierdzenie jest nagłówkiem innej gałęzi, przełącz się najpierw na tę gałąź.

  1. Menu kontekstowe -> TortoiseGit -> Switch / Checkout
  2. Wybierz nazwę oddziału
  3. dobrze
  4. Wykonaj powyższe 1-4 kroki, aby zmienić komunikat o zatwierdzeniu

Jeśli zatwierdzenie znajduje się pośrodku, bez łączenia nagłówków, musisz zresetować, poprawić i wybrać najlepszy wybór

  1. Menu kontekstowe -> TortoiseGit -> Dziennik
  2. Wybierz zatwierdzenie -> menu kontekstowe -> Resetuj
  3. Twardy reset ( spowoduje to odrzucenie całej pracy zawartej w zatwierdzeniach powyżej wybranego zatwierdzenia, a także wszelkich niezatwierdzonych zmian w katalogu roboczym )
  4. dobrze
  5. Wykonaj powyższe 1-4 kroki, aby zmienić komunikat o zatwierdzeniu
  6. Wybierz od głowy do jednego zatwierdzenia powyżej -> Menu kontekstowe -> Cherry-pick
  7. Kontyntynuj

12
Naprawdę brakuje mi „Edytuj wiadomość dziennika” TortoiseSVN. Czy jest szansa, że ​​dodadzą taką funkcję?
— Benoit Blanchon,

3
Zgubiłem się w kroku 6, co masz na myśli, mówiąc „Wybierz od głowy do jednego zatwierdzenia powyżej”, czy jest to opcja w menu kontekstowym?
— Flethuseo

1
utracone również w kroku 6. nigdzie nie ma opcji wyboru wiśni i nie widzę powyższego zatwierdzenia (po prostu mówi, że zmiany w
— katalogu roboczym

13
Głosuj w dół, ponieważ myślę, że sugestie w przypadku, gdy zatwierdzenie jest w środku, spowodowały, że odrzuciłem zmiany w kodzie aż do tego zatwierdzenia, czyli kilku tygodni pracy.
— Samuel

8
OSTRZEŻENIE: Użyj opcji „Utwórz gałąź w tej wersji”, aby ustawić tymczasową nazwę gałęzi przed zresetowaniem do zatwierdzenia, które chcesz zmodyfikować. W przeciwnym razie ryzykujesz utratę wszystkich zatwierdzeń powyżej tego punktu. (Jeśli już ci się to przydarzyło, git reflogpomoże ci je odzyskać).
— Steve Pitchers

19

W przypadku, gdy zatwierdzenie jest pośrodku, zdecydowanie polecam nie postępować zgodnie z instrukcjami dostarczonymi przez linquize, zobacz komentarze pod jego odpowiedzią.

  1. Możesz użyć wiersza poleceń git z TortoiseGit i nie spowoduje to żadnych problemów: Czy mogę jednocześnie używać narzędzi Git wiersza poleceń i TortoiseGit? .

  2. Ten film na YouTube wyjaśnia to naprawdę dobrze: http://youtu.be/4YjKY0u9Z6I . Zasadniczo użyj git rebase -i, a następnie po prostu „przeredaguj” treść komunikatu.

Aktualizacja: Wierzę, że możesz odzyskać utracone zatwierdzenia z twardego resetu sugerowanego przez linquize, zobacz odpowiedź Wayne'a tutaj: Jak mogę zmienić kolejność / łączyć zatwierdzenia za pomocą Git rebase? .


7
Zgoda. git zajmuje mi niewiarygodnie dużo czasu, aby nauczyć się obsługi, SVN był taki prosty. Koncepcja git jest prosta, ale jego użycie nie jest.
— Samuel

TortoiseGit oferuje również interaktywną rebase, nie trzeba do tego używać wiersza poleceń.
— Peter

13

Powiedziałbym, że najlepszą metodą zmiany dowolnego komunikatu o zatwierdzeniu jest użycie force rebaseopcji w tortoisegit.

Zobacz tę odpowiedź na Jak zmienić kolejność zatwierdzeń (rebase) za pomocą TortoiseGit . Tej samej metody można użyć do edycji komunikatów o zatwierdzeniach.

  • W oknie dialogowym rebase kliknij prawym przyciskiem zatwierdzenie, które chcesz edytować, i wybierz Editopcję. Możesz wybrać edycję wielu zatwierdzeń.
  • Kliknij Start Rebaseprzycisk.
  • Rebase zatrzyma się przy zatwierdzeniach, które zaznaczyłeś Edit
  • Kliknij Commit Messagekartę u dołu i edytuj wiadomość
  • Kliknij Amendprzycisk, aby kontynuować
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.