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

401

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

whamsicore
источник
6
Если это обычное действие, создайте alias(например wherewasi;-) для выбранного вами решения / командной строки. Вы также можете включить информацию о ветке.
Филип Окли

Ответы:

756
git show

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

git log -1

это быстро и просто.

git log -1 --pretty=%B

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

CB Bailey
источник
2
формат% B был тем, что мне нужно, чтобы не было отступа для сообщения коммита. И да, @Juh_, даже несмотря на то, что git gui не подходит для вас, рекомендуется использовать 80-колоночный текст в сообщениях фиксации, а не в строке на абзац.
Питер Кордес
4
@Juh_ Вы можете показать все сообщение, используя git log -1 --pretty=%B | cat, но, как сказал Питер, вы должны попытаться сохранить его до 80 символов.
Ruckus T-Boom
3
@Juh_ это слишком поздно, но если вы хотите, чтобы сообщение о фиксации было catgit log -1 --pretty= | cat
переносом
8
Кто-то ищет дополнительную информацию о процентах-заполнителях: см. Kernel.org/pub/software/scm/git/docs/… (прокрутите вниз до format:<string>).
imme
3
Если вы добавите format:префикс к %Bкак указано в man-документах, он не будет показывать дополнительные пустые строки в конце вывода:git log -1 --pretty=format:%B
Mariano Ruiz
84

В общем:

git log -n

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

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

git log --oneline -n

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

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

Abizern
источник
23

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

Григорий Пакош
источник
Как насчет того же в Mercurial?
Невин Радж Виктор
14

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

git show -s --format=%s

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

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

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

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

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

git show-branch --no-name HEAD

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

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

н.у.к.
источник
ИМО это лучше, чем принятый ответ для нескольких коммитов. Это не производит ненужных разрывов строк для меня. Несколько коммитов (т.е. последние 5) могут быть показаны включением -5, то естьgit show -s --format=%s -5
Sigmatics
10

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

CJ Деннис
источник
7

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

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

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

sungiant
источник
4

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

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

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

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

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

nehem
источник
3

я сделал это

git reflog -1 | sed 's/^.*: //'
LukePOLO
источник
0

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

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

reverse-i-search

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

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

Войти. Это оно!

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

Стив С.
источник