2016-11-10 2 views
3

У меня есть список хешей фиксации, и мне нужно заказать их в хронологическом порядке.Просмотреть список из списка git commits

Я думал, что я мог бы получить git rev-list, чтобы сделать это, но он настаивает на том, показывая мне все коммиты, даже если я указываю фиксации в командной строке.

Есть ли способ сделать git сделать это или мне нужно объединить git rev-list и grep?

Спасибо!

+0

Прочтите это, это даст вам несколько идей. http://thesimplesynthesis.com/post/how-to-sort-git-commits-by-author-date – CodeWizard

ответ

4

Используйте опцию --no-walk. Он работает на всех, основанных на git rev-list.

+1

В частности, вы можете теперь '--no-walk = sorted' или' -no-walk = unsorted ', а значение по умолчанию« отсортировано ». Однако в более старых версиях Git '--no-walk' всегда * unsorted, так что будьте осторожны! (Это немного меня, когда я пытался использовать его в Git 1.7ish или 1.8ish days.) – torek

+0

? Я подтвердил ваш комментарий в отношении веры, но 8e64006, в котором был введен вариант, говорит, что команды на основе rev-list' сортируют свой вывод (по умолчанию, сейчас), это 'git show', который следует за порядком командной строки. Не могли бы вы ошибаться? @torek – jthill

+0

Это был довольно старый Git. Мне пришлось бы прорыть историю внутри Git, чтобы увидеть, когда это было исправлено. Мой скрипт имел эти четыре строки (комментарий, конечно же, их разваливает) '# анализировать аргументы в один файл git rev-parse $ @> $ TF1 || exit 1 # и topo-сортировать аргументы в другом git rev-list --topo-order --no-walk -reverse $ @> $ TF2 || выйдите 1', и это провалилось, пока некоторые Git uprev не зафиксировали это. (Последний раз, когда я коснулся этого сценария, был 2012 год, поэтому проблема возникла в 2012 году или ранее.) – torek

 Смежные вопросы

  • Нет связанных вопросов^_^