2015-04-29 12 views
18

Quando uso git log di controllare il mio commettere nota esplicativa comeCome posso dividere i messaggi di commit git in più righe?

1. what I changed 
2. blank line 
3. why I changed it 

in 3 linee non come 1. what i changed 2. blank line 3. why i changed solo in 1 linea.

+1

Potete fornire un esempio di uno dei tuoi commit? – GabrielOshiro

+0

Puoi rebase e modificare i tuoi messaggi di commit per aggiungere le nuove linee, oppure puoi modificare l'ultimo commit tramite 'git commit --amend' –

+0

Qual è il tuo sistema operativo? Come hai installato Git? – Chris

risposta

37

è sufficiente utilizzare il seguente comando:

$ git commit -m "1. what i changed 
> 2. blank line 
> 3. why i changed" 

nel vostro terminale, basta premere 'enter' per una nuova linea. Il messaggio di commit non si concluderà fino a quando non aggiungerai l'offerta di chiusura. Il registro git sarà simile:

$ git log 
commit abcde2f660c707br2d20411581c4183170c3p0c2 
Author: Alex Pan <[email protected]> 
Date: Tue Apr 28 20:52:44 2015 -0700 

    1. what i changed 
    2. blank line 
    3. why i changed 
+1

Il mio funzionamento il sistema è os x yosemite, io uso oh my zash, ho fatto esattamente quello che mi hai detto, ma non funzionava ancora. quando premo 'invio', non per una nuova riga, è solo per il commit – fernando

+1

@fernando Ho appena installato oh mio zsh e ho eseguito il mio comando. Ero ancora in grado di ottenere un messaggio di commit su più righe. Stai finendo la prima riga con una citazione? Guarda attentamente la mia risposta e vedrai che la citazione di chiusura è sull'ultima riga del mio messaggio di commit. –

+1

Sì, è stata colpa mia, ho provato di nuovo, funziona !! hai ragione. Grazie mille. – fernando

6

Il formato più righe che si descrive è quello consigliato con Git (vedi la discussione in the documentation of git commit). Il modo più semplice per farlo è utilizzare git commit senza -m e scrivere il tuo messaggio nel tuo editor di testo.

7

Trovo molto più semplice salvare il messaggio di commit in un file e quindi utilizzare l'opzione -F.

Esempio:

$ cat > /tmp/commit_msg.txt 
DE123 bug fix: incorrect fetching of instance details 
- fixed this and that 
- also did such and such 
$ git commit -F /tmp/commit_msg.txt 

Si potrebbe anche usare un editor per modificare il file messaggio prima che il commit.

3

Invece di utilizzare un file temporaneo quando si cerca di fare questo a livello di codice è possibile utilizzare stdin

git commit -F-

quindi scrivere il messaggio a stdin

+0

L'utilizzo di un file semplifica la preparazione del testo con un editor. Stavo usando il gatto come un modo per mantenere tutto visibile nel contesto CLI ... – yaronyogev

11

Estratto dalla documentazione

-m <msg> 

--message=<msg> 

Use the given <msg> as the commit message. If multiple -m options are given, their values are concatenated as separate paragraphs. 

In il tuo caso fa esattamente quello che vuoi, inserisce una riga vuota tra la prima e la seconda riga

git commit -m "what I changed" -m "why I changed it" 

Questo è utile se si desidera modificare commento precedentemente aggiunto