войти в первую 10 в Git
два вопроса:
- как показать первые 10 фиксаций в git от начала до конца. (нет ветки)
- Как указать индекс фиксации и зарегистрировать его. (покажите второй или третий)
Я знаю, что git использует parent для связывания фиксации, легко регистрировать фиксацию от конца до начала.
например:git log HEAD~10
но мне нужно запросить от начала до конца, это возможно?
6 ответов:
git log -10
покажет 10 последних коммитов, соответствующих спецификации ревизии (отсутствующая спецификация означает "все коммиты").
смотрите manpage:
git help log
раздел
Commit Limiting
-<number>, -n <number>, --max-count=<number> Limit the number of commits to output.
чтобы получить последние 10 коммитов:
git log HEAD~10..HEAD
чтобы получить их в порядке от старого до Нового:
git log --reverse HEAD~10..HEAD
обратите внимание, что если есть слияния, это может показать более 10 коммитов; добавить
--first-parent
если вы хотите только пройти через первый родитель каждой ветви.для получения более подробной информации см. документацию для
git rev-list
.
Edit: вы уже получили полезный ответ выше ,чтобы "показать коммиты в начале истории" (опять же, см. предостережения о несколько несвязных групп DAG фиксации в репо). Но вы также можете сделать, например,:git log --no-walk `git rev-list HEAD | tail -n 10`
и:
git log --no-walk `git rev-list --reverse HEAD | head -n 10`
в зависимости от того, какой заказ вы хотите получить результаты.
вот мой подход,
чтобы получить первые 10 коммитов:
git log -n 10
- n-это число
дополнительные Чтобы получить следующие 10 фиксации пропустить первые 10 :
git log --skip=10 -n 10
потому что... более подробно :п
- как показать первые 10 фиксаций в git от начала до конца. (нет ветка)
- Как указать индекс фиксации и зарегистрировать его. (показать второй или третий)
By (без ветки), вы можете спросить о
reflog
а не любой заданной цепи родословной. Следующее не имеет ничего общего с веткой, которой вы являетесь на.
git log -g --pretty=oneline | tail -10
<sha> HEAD@{###}: action: summary (old) <sha> HEAD@{###}: action: summary (older) ... <sha> HEAD@{###}: action: summary (oldest)
-g
и--walk-reflogs
вместо того, чтобы гулять фиксации цепи родословной, ходить записей reflog.вопрос- добавить
|cut -d ' ' -f 2|tr -d ':' > log
войти только reflog совершить индекса.
ниже будут показаны самые ранние предки текущей проверенной ветви.
git log --reverse --pretty=oneline | head -10 | cat -n
1 <sha> summary (oldest) 2 <sha> summary (second)
--reverse
вывод коммитов в обратном порядке.- не могу использовать просто
-n 10
или-10
, так как это нарушает--reverse
cat -n
добавляет номера строк (индекс фиксации?)