Как перечислить весь журнал для текущего проекта в git? - PullRequest
3 голосов
/ 05 июня 2010

Я использую git log, но нахожу, что он может отображать только журналы под текущими ветвями, но я хочу перечислить все журналы для всех ветвей и отсортировать по дате изменения, возможно ли это? Как это сделать? Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 05 июня 2010

Вы можете проверить этот вопрос , чтобы увидеть, начинает ли он обращаться к вашему уровню журнала:

git log --graph --abbrev-commit --pretty=decorate --branches

в нем должны быть перечислены все ветви, включая удаленные (если они получены)

--branches[=pattern]

Сделайте вид, что все ссылки в ссылках / заголовках указаны в командной строке как <commit>.
Если указан шаблон, ограничьте количество ветвей теми, которые соответствуют указанному глобусу оболочки.
ЕслиНе хватает шаблона ?, , or [, / в конце подразумевается.


Вы можете попробовать это commandline-fu , с git branch или git branch -a:
(git branch -a - это, безусловно, то, что вам нужно, чтобы вы хотели видеть те же ветки, что и gitk )

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по дате - полезно для отображения активных веток. Распечатайте список всех веток с датой последней фиксации в ветке, включая относительное время после фиксации и цветовое кодирование.


Примечание: As Jakub Narębski удачно комментирует:

Не используйте git branch выходные данные для сценариев !!!Используйте git for-each-ref или git show-ref слесарное дело (низкоуровневые команды, предназначенные для сценариев)

git branch - это команда фарфор именно потому, что она предназначена для пользователя, а не дляСценарии.

Как выразился Эрик Рэймонд , он соответствует устоявшейся философии git design, заключающейся в отделении манипуляции с контентом (слесарное дело) от представления (фарфор).

1 голос
/ 05 июня 2010

git log --all

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...