Kiedy tworzysz nowy commit, git uruchamia edytor tekstu i zapisuje w nim kilka rzeczy.
Używając tego edytora tekstu, zamierzasz napisać wiadomość o zatwierdzeniu, która będzie powiązana z twoim cielesnie utworzonym zatwierdzeniem.
Po zakończeniu zapisz i zamknij edytor tekstu. Git użyje tego, co napisałeś jako wiadomość do zatwierdzenia.
Komunikat zatwierdzenia ma określoną strukturę, opisaną w następujący sposób:
Pierwsza linia komunikatu o zatwierdzeniu jest używana jako nagłówek (lub tytuł) wiadomości. Preferowana długość nagłówka zatwierdzenia jest mniejsza niż 40 znaków, ponieważ jest to liczba znaków, które github wyświetla na karcie Commits danego repozytorium przed jego obcięciem, co niektórzy uważają za irytujące.
Podczas tworzenia nagłówka powszechną praktyką jest użycie czasownika w czasie teraźniejszym pisanym wielką literą dla pierwszego słowa, choć nie jest to wcale wymagane.
Jeden nowy wiersz wyznacza nagłówek i treść wiadomości.
Ciało może składać się z tego, co chcesz. Przegląd zmian wprowadzonych przez Twoje zatwierdzenie jest rozsądny. Niektóre aplikacje innych firm używają informacji zawartych w treści komunikatów o zatwierdzeniu, aby wyzwalać różne rodzaje zaczepów (myślę, że Gerrit i Pivotal Tracker, żeby wymienić dwa).
Oto krótki i słodki przykład. Wiodący #
oznacza komentarz.
Gitignore index.pyc
Ignore gunicorn generated binary file
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch dev
# Your branch is ahead of 'origin/dev' by 10 commits.
# (use "git push" to publish your local commits)
#
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: .gitignore
#
Tutaj jeden pan Torvalds wypowiada się na temat tego, co jest dobrym zobowiązaniem.
I tutaj Tpope robi podobnie.
Jak stwierdzono w kilku innych odpowiedziach, zmiana domyślnego edytora to jedna linijka w linii poleceń.
Moje preferencje:
git config --global core.editor "vim"
--global
aby zmienić ustawienie domyślne?