git: есть ли параметр командной строки для сортировки по дате для gitk?

Я пытаюсь найти параметр командной строки для gitk, который имеет тот же эффект, что и «Строго сортировать по дате» в окне «Просмотр / редактирование представления ...».

man gitk показывает очень ограниченное количество параметров по сравнению с теми, которые доступны в графическом интерфейсе.


person digitalsky    schedule 18.11.2011    source источник
comment
CLI: stackoverflow.com/questions/8576503/   -  person Ciro Santilli 新疆再教育营六四事件ۍ    schedule 25.07.2015


Ответы (1)


man gitk по крайней мере упоминает, что он принимает те же параметры, что и git rev-list, включая

--date-order 

Эта опция похожа на --topo-order в том смысле, что ни один родитель не предшествует всем своим дочерним элементам, но в остальном все по-прежнему упорядочено в порядке временной метки фиксации.

См. «Руководство по пониманию gitk?" для получения дополнительной информации.


Примечание: если -d или --date-order действительно является аргументом, который вам нужен, лучше не использовать слишком много, по словам самого Линуса (из lists-archives.com/git или www.spinics.net/lists/git/):

Дело в том, что --date-order объединяет и смешивает коммиты в одной и той же цепочке разработки, из-за чего становится труднее увидеть разные цепочки разработки.
Это также приводит к более "параллельному" отображению разработки. образом, что, в свою очередь, делает представление еще более трудным для чтения.

Поэтому я бы предложил не использовать --date-order по умолчанию. Это ничего не добавляет к обычному течению и затрудняет просмотр общей картины.

Единственный раз, когда вам действительно нужно --date-order (или "-d", что является сокращением для gitk), это действительно

  • когда общая картина действительно очень проста, и вы на самом деле хотите увидеть больше деталей, потому что общая картина слишком тривиальна, чтобы даже быть интересной в противном случае.
    (Другими словами: --date-order подходит для действительно простой разработки, где всегда есть только просто пару веток или где вы столько истории обрезали, что оставшаяся часть проста)
  • когда вы хотите отладить само поведение «git rev-list», поскольку порядок дат действительно имеет значение для того, как git проходит цепочки коммитов.

Второй случай, как я подозреваю, никто, кроме меня и нескольких других людей, никогда не делал.
Я нашел его очень полезным вместе с --show-all, когда отлаживал обходчик версий (см. коммиты "Добавить флаг обходчика ревизий "--show-all" для отладки" и "Сделать ограничение ревизий более устойчивым к случайным неверным датам фиксации", где первое реализует --show-all, а второе является конечным результатом моей отладки).

Другими словами: никогда не начинайте с «-d» или «--date-order» по умолчанию.
Используйте его только в том случае, если у вас есть причины думать, что представление слишком простое или вам нужно углубиться в отношения фиксации. .

person VonC    schedule 18.11.2011
comment
Примечание: если вам действительно нужен аргумент -d или --date-order, лучше не использовать слишком много, по словам самого Линуса: amailbox.org/mailarchive/git/2008/5/28/1958754 - person VonC; 19.11.2011
comment
Ваша ссылка не работает (сейчас). Почему бы вам не использовать его слишком часто? - person JonnyJD; 20.06.2013
comment
@JonnyJD Я восстановил ссылку и включил ее содержимое в ответ. - person VonC; 20.06.2013