Подтвердить что ты не робот

Git log показывать только один идентификатор фиксации

Мне нужна помощь. Можно только показать один идентификатор фиксации? Поскольку git log -3 показывает журнал от 1 до 3, я просто хочу показать только 3. Какая возможная команда будет соответствовать ему?

Я использую команду

       git log -3 --pretty=format:"%h"

результат

       ffbef87
       cf0e073
       1c76c5d

Я хочу показать только 1c76c5d.

4b9b3361

Ответ 1

Вы можете использовать git show ссылку на третьего родителя из вашего текущего фиксации (т.е. второго предка из HEAD). Кроме того, git show принимает ту же строку формата, что и git log:

git show head~2 --pretty=format:"%h" --no-patch

Обновление (2016-12-01)

Еще лучше будет использовать rev-parse сантехника команда с опцией --short для вывода сокращенного (7 символов) кода фиксации:

git rev-parse --short head~2

Или вы также можете указать точную длину идентификатора фиксации:

git rev-parse --short=4 head~2

Ответ 2

вы можете использовать git show:

git show <hash>

или если вы действительно хотите использовать git журнал (без разницы):

git log -1 <hash>

для большего количества опций; посмотрите этот anwser

Ответ 3

Для этого есть инструмент:

git log -3 --pretty=format:"%h" | tail -n 1

Вы можете включить n символы хэша (вместо значения по умолчанию) со следующим флагом:

--abbrev=n 

Соответствующие фрагменты философии Unix

1) Сделайте каждую программу хорошо. Чтобы выполнить новую работу, создайте новую, а не усложняйте старые программы, добавив новые "функции".

2) Ожидайте, что выход каждой программы станет входом другой, пока неизвестной, программой. Не мешайте выводам с посторонней информацией. Избегайте жестких столбчатых или двоичных форматов ввода. Не настаивайте на интерактивном вводе.

... [Т.е.].

  • Записывайте программы, которые делают одно и делают это хорошо.
  • Записывайте программы для совместной работы.

https://en.wikipedia.org/wiki/Unix_philosophy