2013-05-23 4 views
25

io uso sempre git commit --verbose. C'è un'opzione/impostazione equivalente che farà sì che git mi mostri il diff quando sto riformulando un messaggio di commit durante git rebase --interactive?Come faccio a rendere git show diff quando si riformula un messaggio di commit durante rebase -i?

+7

Io non la penso così. Che ne dici di farlo da solo nell'editor, ad es. in vi ': r! git diff HEAD ^' o simile? – chirlu

+0

@chirlu ooh si, questa è una soluzione pratica, grazie. –

+0

@AdamMonsen, come si fa a "riformulare un messaggio di commit durante git rebase --interactive"? Lo fai nella schermata iniziale, sostituendo "pick" con "reword" e dando direttamente il nuovo messaggio, o sostituisci "pick" con "edit" e usa "git commit --amend" per cambiare il messaggio di commit? – Vampire

risposta

11

Secondo le vostre risposte nei commenti, l'esecuzione di git diff HEAD^ non ti aiuterà, tranne che si desidera solo rewored l'ultimo commit.

Ma in questo caso un rebase è lo strumento sbagliato comunque. Invece si può semplicemente fare git commit --amend --verbose senza variazioni dell'indice e quindi modificare il messaggio di commit, avendo la vista diff si sta chiedendo.

Se si vuole riformulare un vecchio o più messaggi di commit di avere la vista diff, basta usare il edit strofa invece del reword strofa e poi usare git commit --amend --verbose senza modifiche al codice nell'indice su ciascuno dei commit.

reword deve essere una scorciatoia per l'utilizzo di edit e quindi fare git commit --amend -m "new message" senza modifiche che cambieranno solo il messaggio di commit.

È inoltre possibile definire git commit --amend --verbose o git commit --verbose come alias in modo da salvare alcuni tipi di digitazione e può e. g. semplicemente fare git cav o git c --amend.