2010-10-19 4 views
40

Ist es möglich, den kommentierten Teil der Standard-Git-Commit-Nachricht zu ändern? Ich möchte ein bisschen mehr "Kontext" Informationen für meine Benutzer hinzufügen.Wie kann ich die Standardkommentare in der Git-Commit-Nachricht ändern?

# Please enter the commit message for your changes. 
# (Comment lines starting with '#' will not be included) 
# Explicit paths specified without -i nor -o; assuming --only paths... 
# On branch master 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
#  modified: test.txt 
# 
+2

Bitte benennen Sie die Frage so etwas wie „Wie kann ich die git Standard-Commit-Nachricht bearbeiten?“ – weiqure

+0

Dieser Titel erfasst es auch nicht ganz. – zedoo

+1

Richtig, aber die Standard-Commit-Nachricht besteht ausschließlich aus Kommentaren. Wie wäre es mit "Wie kann ich die Kommentare in der Standard-Git-Commit-Nachricht bearbeiten?". Ich hoffe, ich habe die Frage richtig verstanden und meine Antwort ist hilfreich. – weiqure

Antwort

41

Sie können git hooks dafür verwenden. Bevor die Person, die die Änderungen festschreiben möchte, die Commit-Nachricht anzeigt, wird das prepare-commit-msg-Skript ausgeführt.

Sie können ein Beispiel vorbereiten-commit-msg Skript in .git/Haken finden.

Um die Standard-Nachricht erstellen Sie eine neue Datei vorbereiten-commit-msg im Ordner .git/Haken genannt zu bearbeiten. Sie können die Nachricht wie diese mithilfe eines Skripts begehen bearbeiten:

#!/bin/sh 
echo "#Some more info...." >> $1 

die $ 1 Variable speichert den Dateipfad in die Nachrichtendatei begehen.

+0

Ich wusste, dass es möglich war. Ich habe irgendwo darüber gelesen und konnte das nicht mehr finden. Vielen Dank! – zedoo

+1

Achten Sie darauf, dass keine Haken zum Repo hinzugefügt werden. Wenn dieser Repo irgendwo anders geklont wird, müssen Sie den Hook erneut einrichten. – brycemcd

+9

Die Konfigurationsvariable commit.template ist genau für diesen Zweck da und sollte stattdessen verwendet werden. – Jaseem

59

Es gibt commit.template Konfigurationsvariable, die git-config(1) manpage nach:

eine Datei an, die als Vorlage für neue Commit-Nachrichten. „~/“ wird auf den Wert von $ HOME erweitert und „~user/“ in den Home-Verzeichnis des angegebenen Benutzers.

Sie können es ausdrückte in pro-Repository (.git/config) des Benutzers (~/.gitconfig) und System (/etc/gitconfig) Konfigurationsdatei (en).

+5

Dies ändert nur den Commit-Text, dh was vor den Kommentarmarkern angezeigt wird. Das OP bittet darum, die Commit-Kommentarmarken selbst zu ändern. –

+3

Das ist wirklich hilfreich. Es gibt ein paar Zeilen, die ich weiterschreiben musste * jedes * Commit, das ich mache. Nett! Auch ich fand diesen Vim-Tipp sehr nützlich: [** Positioniere den Cursor auf die erste Zeile der Commit-Nachricht **] (http://vim.wikia.com/wiki/Always_start_on_first_line_of_git_commit_message). Glückliche Tage ! –

+0

@me_and: Commit-Kommentarmarker waren zum Zeitpunkt des Verfassens dieser Antwort nicht konfigurierbar. Es gab einen Vorschlag, sie konfigurierbar zu machen, aber ich erinnere mich nicht, ob die Konfiguration für den Benutzer verfügbar ist und ob diese Änderung in der veröffentlichten Version ist. –

Verwandte Themen