2013-03-18 18 views
52

Di tanto in tanto mi trovo commit-amending utilizzando lo stesso messaggio.commit git --amend senza chiedere per il messaggio

In genere, lo faccio:

  1. aggiungere le mie modifiche all'area di sosta.
  2. Do git commit --amend.
  3. Attendi che venga aperto l'editor di testo.
  4. Salvare e chiudere (senza modificare il messaggio).

C'è comunque da dire a git che non voglio cambiare il messaggio di commit (saltando il passo di aprire il mio editor di testo e salvare il messaggio)? Ad esempio:

  1. Aggiungere le modifiche all'area di gestione temporanea.
  2. Dite a Git di modificare la mia area di staging sull'ultimo commit senza chiedermi un altro messaggio.

So che posso evitare di git sparare il mio editor di testo facendo git commit --amend -m "<message>". Ma in questo modo dovrei ridigitare il messaggio.

risposta

94

Prova git commit --amend --no-edit.

12

Ciò modificherà l'ultimo commit, utilizzando lo stesso messaggio, in un unico comando:

git commit --amend -C HEAD 
+0

Questa opzione funziona perfettamente su CentOS 6.7 (finale). perché l'opzione --no-edit non è ancora disponibile in quella piattaforma, attraverso un'installazione git yum standard. NOTA: git versione 1.7.1 – crsuarezf

+0

Da http://stackoverflow.com/a/10365442/710377: Questa opzione è stata aggiunta in Git 1.7.9. – meustrus