Ответ 1
git log --all
Я использую журнал git, но я нахожу, что он может только перечислять журналы в текущих ветвях, но я хочу перечислить все журналы для всех ветвей и сортировать по измененной дате, возможно ли это? Как это сделать? Спасибо заранее!
git log --all
Вы можете проверить этот вопрос, чтобы узнать, начнет ли этот процесс обращаться к вашему уровню журнала:
git log --graph --abbrev-commit --pretty=decorate --branches
он должен отображать все ветки, включая удаленные (если выбрано)
--branches[=pattern]
Представьте, что все ссылки refs/heads перечислены в командной строке как
<commit>
.
Если задан шаблон, ограничьте ветки на те, которые соответствуют данному glob оболочки.
Если образец не имеет значения?, , or [, /
в конце, подразумевается.
Вы можете попробовать эту commandline-fu с помощью : git branch
или git branch -a
(, конечно, вам нужно, чтобы вы видели те же самые ветки, что gitk)git branch -a
for k in `git branch -a|perl -pe s/^..//`;do echo -e `git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset%cn: %s" $k|head -n 1`\\t$k;done|sort -r
или
for k in `git branch -a|sed s/^..//`;do echo -e `git log -1 --pretty=format:"%Cgreen%ci %Cblue%cr%Creset%cn: %s" "$k"`\\t"$k";done|sort
(вы можете заполнить формат, чтобы показать любые данные - автор, сообщение фиксации,... - вам нужно)
Показать git ветки по дате - полезно для отображения активных ветвей Распечатайте список всех ветвей с последней датой фиксации к ветке, включая относительное время с момента фиксации и цветового кодирования.
Примечание: Как Якуб Нарęбски точно комментирует:
Не используйте вывод
git branch
для скриптов!!! Используйтеgit for-each-ref
илиgit show-ref
сантехника (команды низкого уровня, предназначенные для сценариев)
git branch
- это фарфоровая команда именно потому, что она предназначена для пользователя, а не для сценариев.
Как Эрик Раймонд ставит его, он соответствует устоявшейся философии дизайна git для разделения манипуляции с содержимым (сантехника) из презентации ( фарфор).