войти в первую 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 -n1 <sha> summary (oldest) 2 <sha> summary (second)
--reverseвывод коммитов в обратном порядке.- не могу использовать просто
-n 10или-10, так как это нарушает--reversecat -nдобавляет номера строк (индекс фиксации?)