Git log показывать только один идентификатор фиксации
Мне нужна помощь. Можно только показать один идентификатор фиксации? Поскольку git log -3 показывает журнал от 1 до 3, я просто хочу показать только 3. Какая возможная команда будет соответствовать ему?
Я использую команду
git log -3 --pretty=format:"%h"
результат
ffbef87
cf0e073
1c76c5d
Я хочу показать только 1c76c5d.
Ответы
Ответ 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