git 2.7 (четвертый квартал 2015 г.) представит сортировку веток с использованием git branch
:
См. commit aa3bc55 , commit aedcb7d , commit 1511b22 , commit f65f139 , ... (23 сентября 2015), commit aedcb7d , коммит 1511b22 , коммит ca41799 (24 сентября 2015 г.) и коммит f65f139 , ... (23 сентября 2015 г.) от Картик Наяк (KarthikNayak
) .
(Объединено с Junio C Hamano - gitster
- в коммит 7f11b48 , 15 октября 2015 г.)
В частности, commit aedcb7d :
branch.c
: использовать API ref-filter
1039 *
Заставьте 'branch.c
' использовать 'ref-filter
' API для перебора сортировки ссылок. Это удаляет большую часть кода, используемого в 'branch.c
', заменяя его
с вызовами в библиотеку 'ref-filter
'.
Это добавляет опцию --sort=<key>
:
Сортировка по заданному ключу.
Префикс -
для сортировки в порядке убывания значения.
Вы можете использовать опцию --sort=<key>
несколько раз, и в этом случае последний ключ становится первичным ключом.
Поддерживаемые клавиши такие же, как и в git for-each-ref
.
Порядок сортировки по умолчанию сортируется по полному имени (включая префикс refs/...
). В этом списке сначала отображается отсоединенный HEAD (если имеется), затем локальные ветви и, наконец, ветви с удаленным отслеживанием.
Здесь:
git branch --sort=-committerdate
Или (см. Ниже с Git 2.19)
# if you are sure to /always/ want to see branches ordered by commits:
git config --global branch.sort -committerdate
git branch
См. Также коммит 9e46833 (30 октября 2015 г.) от Картик Наяк (KarthikNayak
) .
Помощник: Джунио С Хамано (gitster
) .
(Объединено с Junio C Hamano - gitster
- в коммит 415095f , 03 ноября 2015 г.)
При сортировке по числовым значениям (например, --sort=objectsize
) нет запасного сравнения, когда обе ссылки содержат одно и то же значение. Это может привести к неожиданным результатам (т. Е. Порядок перечисления ссылок с одинаковыми значениями не может быть заранее определен), как указал Йоханнес Сикст ( $ gmane / 280117 ).
Следовательно, откат к алфавитному сравнению на основе refname
всякий раз, когда другой критерий равен .
$ git branch --sort=objectsize
* (HEAD detached from fromtag)
branch-two
branch-one
master
С Git 2.19 порядок сортировки может быть установлен по умолчанию.
git branch
поддерживает конфигурацию branch.sort
, например git tag
, в которой уже была конфигурация tag.sort
.
См. коммит 560ae1c (16 августа 2018 г.) Самуэль Мафтул (``) .
(Объединено с Junio C Hamano - gitster
- в commit d89db6f , 27 августа 2018 г.)
branch.sort:
Эта переменная управляет порядком сортировки ветвей, когда отображается git-branch
.
Без предоставленной опции "--sort=<value>
" значение этой переменной будет использоваться по умолчанию.
Для отображения удаленных веток используйте git branch -r --sort=objectsize
. Флаг -r
заставляет его перечислять удаленные ветви вместо локальных.