Фильтровать 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