Фильтровать git log по автору или ветке

В моем рабочем процессе меня обычно интересуют только мои собственные ветки и некоторые конкретные ветки, такие как staging или же master и хотел бы мой git log чтобы отразить это. Я пришел с этой командой:

git log --branches=staging* --author=my_name

Проблема в том, что author а также branches фильтры, похоже, связаны с логическим оператором andЭто означает, что я могу видеть все свои ветви или постановку, но не оба одновременно.

Другими словами, я хотел бы видеть только коммиты, где я являюсь автором И все коммиты ветки с именем staging ветвь (независимо от авторов), с помощью одной команды.

Есть ли способ добиться этого?

1 ответ

Решение

Git будет принимать идентификаторы коммитов из stdin, он не ограничен каким-либо заранее заданным набором операторов построения, и нет причин дублировать произвольную логику выбора, когда результаты могут быть достигнуты с помощью существующих инструментов.

(git rev-list --branches=staging*;git rev-list --all --author=my_name) \
| git log --stdin --no-walk --oneline
Другие вопросы по тегам