Як прочитати коментар останнього читання?


400

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


6
Якщо це звичайні дії, зробіть alias(наприклад wherewasi;-) для обраного рішення / командного рядка. Ви можете також включити інформацію про галузь.
Філіп Оуклі

Відповіді:


755
git show

це найшвидший набір, але також показує вам відмінності.

git log -1

швидко і просто.

git log -1 --pretty=%B

якщо вам потрібно лише повідомлення про фіксацію і більше нічого.


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 docs, він не відображатиме зайві рядки в кінці виводу:git log -1 --pretty=format:%B
Mariano Ruiz

84

Як правило:

git log -n

покаже вам останні nповідомлення про фіксацію

Більш елегантно - якщо ви хочете короткий огляд своїх зобов'язань

git log --oneline -n

Це покаже лише перший рядок останніх nповідомлень про фіксацію.

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


23

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


Що про те ж у меркуріалі?
Невін Радж Віктор

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 покаже вам останнє повідомлення із зазначеної гілки (тобто не обов'язково гілки, на якій ви зараз перебуваєте).


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

Тут знайдено рішення


4

Щоб почати з git log -1 --pretty='%s'

Але нижче наведено всі справи,

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

  • Немає небажаних пробілів
  • Відхилення об'єднання комітетів
  • Без ідентифікатора фіксації, дати, Відображає лише повідомлення.

Вставте і переконайтеся самі



0

Я щойно знайшов вирішення проблеми із оболонкою, отримавши попередню команду.

Натисніть Ctrl-R, щоб відкрити команду зворотного пошуку:

reverse-i-search

Тоді починайте вводити git commit -m , це додасть це як команду пошуку, і це приведе попереднє git commit зі своїм повідомленням:

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

Введіть. Це воно!

(перевірено в оболонці Ubuntu)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.