Come posso modificare un messaggio di commit errato con TortoiseGit?


Risposte:


160

Se il commit è il capo del ramo corrente, è facile.

  1. Menu contestuale -> Git Commit
  2. Seleziona la casella di controllo "Modifica ultimo impegno"
  3. Correggi il tuo messaggio di commit
  4. ok

Se il commit è il capo di un altro ramo, passa prima a quel ramo.

  1. Menu contestuale -> TortoiseGit -> Cambia / Acquista
  2. Scegli il nome del ramo
  3. ok
  4. Segui i passaggi 1-4 sopra per modificare il messaggio di commit

Se il commit è nel mezzo senza alcuna fusione tra head, è necessario reimpostare, modificare e selezionare

  1. Menu contestuale -> TortoiseGit -> Log
  2. Seleziona il commit -> Menu contestuale -> Ripristina
  3. Hard Reset ( questo eliminerà tutto il lavoro contenuto nei commit sopra il commit selezionato e qualsiasi modifica non confermata nella directory di lavoro )
  4. ok
  5. Segui i passaggi 1-4 sopra per modificare il messaggio di commit
  6. Seleziona dalla testa a un commit sopra di esso -> Menu contestuale -> Cherry-pick
  7. Continua

12
Mi manca davvero il "messaggio di modifica del registro" di TortoiseSVN. C'è qualche possibilità che aggiungano tale funzionalità?
Benoit Blanchon

3
Mi sono perso al passaggio 6, cosa intendi con "Seleziona dalla testa a un commit sopra" è un'opzione nel menu contestuale?
Flethuseo

1
perso anche al passaggio 6. nessuna opzione di scelta rapida da nessuna parte, e in ogni caso non riesco a vedere il commit sopra (dice solo modifiche alla
directory di

13
Downvote perché penso che i suggerimenti nel caso in cui il commit sia nel mezzo mi hanno indotto a scartare le mie modifiche al codice fino a quel commit, che è diverse settimane di lavoro.
Samuel

8
ATTENZIONE: Usa "Crea ramo in questa versione" per impostare un nome di ramo temporaneo prima di ripristinare il commit che desideri modificare. Altrimenti, rischi di perdere tutti i commit sopra questo punto. (Se questo è già successo a te, git reflogti aiuterà a recuperarli).
Steve Pitchers

19

Per il caso in cui il commit è nel mezzo, consiglio vivamente di non seguire le istruzioni fornite da linquize, vedere i commenti sotto la sua risposta per il motivo.

  1. Puoi usare la riga di comando git con TortoiseGit e non causerà alcun problema: posso usare gli strumenti Git della riga di comando e TortoiseGit contemporaneamente? .

  2. Questo video di YouTube lo spiega molto bene: http://youtu.be/4YjKY0u9Z6I . Fondamentalmente usa git rebase -i e poi semplicemente "riformula" il messaggio di commit.

Aggiornamento: credo che tu possa recuperare i commit persi dall'hard reset suggerito da linquize, vedi la risposta di Wayne qui: Come posso riordinare / combinare i commit usando Git rebase? .


7
Concordato. git mi sta impiegando incredibilmente tempo per imparare a usare, SVN era così semplice. Il concetto di git è semplice, ma il suo utilizzo non lo è.
Samuel,

TortoiseGit offre anche rebase interattivo, non è necessario utilizzare la riga di comando per questo.
Peter

13

Direi che il metodo migliore per modificare qualsiasi messaggio di commit è utilizzare l' force rebaseopzione in tortoisegit.

Vedi questa risposta su Come riordinare i commit (rebase) con TortoiseGit . Lo stesso metodo può essere utilizzato per modificare i messaggi di commit.

  • Quando ti trovi nella finestra di dialogo rebase, fai clic con il pulsante destro del mouse sul commit che desideri modificare e seleziona l' Editopzione. Puoi scegliere di modificare più commit.
  • Fare clic sul Start Rebasepulsante.
  • Rebase si fermerà in corrispondenza dei commit che hai contrassegnato Edit
  • Fare clic sulla Commit Messagescheda in basso e modificare il messaggio
  • Fare clic sul Amendpulsante per continuare
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.