Как читать последний комментарий коммита?

Часто во время фиксации ($ git -commit -m "") я хочу прочитать свой последний комментарий, чтобы помнить, какой прогресс я сделал. Есть ли простой способ прямого доступа к последнему сообщению фиксации через командную строку? (Я использую Windows.)

Ответ 1

git show

является самым быстрым в типе, но также показывает разницу.

git log -1

является быстрым и простым.

git log -1 --pretty=%B

если вам нужно только сообщение commit и ничего больше.

Ответ 2

В общем:

git log -n

покажет вам последние сообщения n commit

Более элегантно - если вы хотите получить краткий обзор своих коммитов

git log --oneline -n

Это покажет только первую строку последних сообщений n commit.

Вы можете сохранить это как псевдоним git или псевдоним оболочки с более короткой командой. Например, у меня это в моей оболочке как glog, и я могу увидеть мои последние 10 сообщений фиксации с помощью glog -10.

Ответ 3

git log -1 отобразит последнее сообщение о фиксации или git log -1 --oneline, если вы хотите, чтобы отображалось сообщение sha1 и связанное с ним сообщение.

Ответ 4

git log -1 branch_name покажет вам последнее сообщение из указанной ветки (т.е. не обязательно ветку, в которой вы сейчас находитесь).

Ответ 5

Для чего-то более читаемого, запустите эту команду один раз:

git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"

чтобы при запуске:

git lg

вы получите хорошее считывание. Чтобы отобразить только последнюю строку:

git lg -1

Решение найдено здесь

Ответ 6

Ты можешь использовать

git show -s --format=%s

Здесь --format включает различные параметры печати, см. Документацию здесь. В частности, %s означает "субъект". Кроме того, -s обозначает --no-patch, который подавляет содержимое diff.

Я часто использую

git show -s --format='%h %s'

где %h обозначает короткий хеш коммита

Другой способ

git show-branch --no-name HEAD

Кажется, работает быстрее, чем в другую сторону.

Я на самом деле написал небольшой инструмент, чтобы увидеть состояние всех моих репо. Вы можете найти его на github.

Ответ 7

Начать с git log -1 --pretty='%s'

Но ниже один охватывает все случаи,

git log --pretty='format:%Creset%s' --no-merges -1

  • Нет ненужных пробелов
  • Сбрасывает коммиты слияния
  • Без фиксации, дата, отображаются только сообщения.

Вставьте и убедитесь сами

Ответ 8

я сделал это

git reflog -1 | sed 's/^.*: //'

Ответ 9

Я только что нашел обходной путь с помощью shell, получив предыдущую команду.

Нажмите Ctrl-R, чтобы вызвать команду обратного поиска:

reverse-i-search

Затем начните вводить git commit -m, это добавит это как команду поиска, и это приведет к предыдущему git commit с его сообщением:

reverse-i-search'git commit -m': git commit -m "message"

Войти. Это!

(протестировано в оболочке Ubuntu)