Мое git-репо огромно (и создано людьми, знающими только прозрачный регистр), и я хочу найти все коммиты, относящиеся к идентификатору проблемы во всех ветвях, и в то же время зная, какие ветви содержат коммитов.
Однако следующая попытка не будет работать, так как $(git branch …)
развернут до того, как %h
будет.
git log --all --oneline --grep="FOO-1337" --pretty=format:"%C(auto)%h $(git branch --contains=%h)"
Есть ли более короткое решение, чем циклическое прохождение выводаgit log
как в следующем:
for commit in $(git log --all --oneline --grep="FOO-1337" --pretty=format:"%h");
do
branches=$(git branch --contains=$commit | tr '\n' ',')
git show --oneline --quiet --pretty=format:"%C(auto)%h ${branches}" $commit;
done
(который я, конечно, могу определить как псевдоним, но мне он кажется немного надуманным)