2013-07-15 10 views
66

Come posso modificare il messaggio di commit con tortoiseGIT? La domanda è molto simile a this ma voglio farlo con TortoiseGit non con console, è possibile?Come posso modificare un messaggio di commit errato con TortoiseGit?

+0

Correlati: [Git: come modificare un messaggio di commit in SourceTree-Windows già trasferito su BitBucket?] (http://stackoverflow.com/questions/17604232/git-how-to-edit-a-commit-message-in-sourcetree-windows-already-pushed -a-bitbuc). –

risposta

115

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

  1. Menu contestuale -> git commit
  2. Tick "Modificare Ultimo Commit" casella
  3. correggere il vostro messaggio di commit
  4. OK

Se il commit è il capo del ramo, interruttore prima a quel ramo.

  1. Menu contestuale -> TortoiseGit -> Switch/Checkout
  2. Scegliere il nome ramo
  3. OK
  4. Seguire sopra 1-4 passaggi di modifica messaggio di commit

Se il commit è in al centro senza alcuna fusione tra la testa, è necessario ripristinare, modificare e cherry-pick

  1. Context Menu -> TortoiseGit -> Log
  2. Selezionare il commit -> Menu contestuale -> Reset
  3. Hard Reset (questo scarterà tutto il lavoro contenuto nella impegna sopra selezionato commettere così come eventuali modifiche non-impegnata a la directory di lavoro)
  4. OK
  5. Segui sopra 1-4 passaggi di modifica messaggio di commit
  6. Selezionare da capo a un commit sopra di esso -> Menu contestuale -> cherry-pick
  7. Continua
+6

Mi manca davvero il "messaggio di modifica del registro" di TortoiseSVN. Qualche possibilità che aggiungeranno questa funzionalità? –

+0

Vai a TortoiseGit tracker di problemi http://code.google.com/p/tortoisegit/issues/list per inviare una richiesta di funzionalità – linquize

+2

Mi sono perso nel passaggio 6, cosa intendi con "Seleziona da capo a uno impegno sopra "è un'opzione nel menu di scelta rapida? – Flethuseo

10

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. È possibile usare la linea di comando git con TortoiseGit e non causerà alcun problema: Can I use command-line Git tools and TortoiseGit simultaneously?.

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

Aggiornamento: Credo che è possibile recuperare i commit persi dal hard reset suggerito da linquize, vedere la risposta di Wayne qui: How can I reorder/combine commits using Git rebase?.

+4

concordato. git mi sta prendendo incredibilmente a lungo per imparare a usare, SVN era così semplice. Il concetto di git è semplice, ma il suo uso non lo è. – Samuel

1

Direi che il metodo migliore per modificare qualsiasi messaggio di commit consiste nell'utilizzare l'opzione force rebase in tortoisegit.

Vedere questa risposta il How to Reorder Commits (rebase) with TortoiseGit.Lo stesso metodo può essere utilizzato per modificare i messaggi di commit.

  • Quando si è nella finestra di rebase, fare clic destro sul impegnano che si desidera modificare e selezionare l'opzione Edit. Puoi scegliere di modificare più commit.
  • Fare clic sul pulsante Start Rebase.
  • Rebase si metterà in pausa i commit contrassegnate per Edit
  • Cliccare sulla Commit Message scheda in basso e modificare il messaggio
  • Fare clic sul pulsante Amend di continuare