2015-04-29 8 views
18

Wenn ich git log verwenden meine begehen Erläuterung wieWie kann ich Git-Commit-Nachrichten in mehrere Zeilen teilen?

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

in 3 Zeilen nicht 1. what i changed 2. blank line 3. why i changed wie in 1 Zeile nur zu überprüfen.

+1

ändern möchten, können Sie ein Beispiel für einen Ihrer Commits zur Verfügung stellen? – GabrielOshiro

+0

können Sie rebase und ändern Ihre Nachrichten verpflichten, die neuen Linien hinzuzufügen, oder Sie können die zuletzt über 'git commit --amend' –

+0

Was ist Ihr Betriebssystem begehen bearbeiten? Wie hast du Git installiert? – Chris

Antwort

37

Sie verwenden einfach den folgenden Befehl ein:

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

In Ihrem Terminal, drücken Sie einfach 'Enter' für eine neue Zeile. Die Commit-Nachricht endet erst, wenn Sie das Schlussangebot hinzugefügt haben. Die git log wird wie folgt aussehen:

$ 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

Mein Betrieb System ist os x yosemite, ich benutze oh mein zash, ich tat genau das, was du mir gesagt hast, aber es hat immer noch nicht funktioniert. wenn ich getroffen ‚Enter‘, ist es nicht für eine neue Zeile, es ist nur – fernando

+1

@fernando zu begehen, denn ich nur oh mein zsh installiert und lief mein Kommando. Ich konnte immer noch eine Multiline-Commit-Nachricht erhalten. Beenden Sie die erste Zeile mit einem Zitat? Schauen Sie sich meine Antwort genau an und Sie werden sehen, dass das Schlusszitat in der letzten Zeile meiner Commit-Nachricht steht. –

+1

Ja, es war meine Schuld, ich habe es erneut versucht, es funktioniert !! Du hast Recht. Vielen Dank. – fernando

6

Das Format mehrzeilige Sie beschreiben, ist die empfohlene eines mit Git (siehe Diskussion in the documentation of git commit). Der einfachste Weg, es zu tun ist git commit ohne -m, zu verwenden und Ihre Nachricht in Ihrem Texteditor zu schreiben.

7

Ich finde es viel einfacher, die Nachricht in eine Datei speichern begehen, und dann die Option -F verwenden.

Beispiel:

$ 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 

Sie auch einen Editor verwenden, könnte die Nachrichtendatei zu bearbeiten, bevor der Commit.

3

Anstatt eine temporäre Datei zu verwenden, wenn dies programmatisch zu tun versuchen, können Sie stdin

git commit -F-

dann schreiben Sie die Nachricht an stdin

+0

Die Verwendung einer Datei erleichtert die Vorbereitung des Textes mit einem Editor. Ich habe nur Katzen benutzt, um alles im CLI-Kontext sichtbar zu machen ... – yaronyogev

11

Auszug aus Dokumentation

-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. 

im Einsatz Ihr Fall es tut genau, was Sie wollen, fügt eine Leerzeile zwischen ersten und zweiten Zeilen

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

Dies ist nützlich, wenn Sie zuvor hinzugefügt Kommentar

Verwandte Themen