Как найти коммит Git, который ввел строку в любую ветку?

Я хочу иметь возможность найти определенную строку, которая была введена в любой фиксации в любая ветка, как я могу это сделать? Я кое-что нашел (что модифицировал для Win32), но git whatchanged , похоже, не просматривает разные ветки (игнорируйте фрагмент py3k, это просто исправление перевода строки msys / win)

git whatchanged -- <file> | \
grep "^commit " | \
python -c "exec(\"import sys,msvcrt,os\nmsvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)\nfor l in sys.stdin: print(l.split()[1])\")" | \
xargs -i% git show origin % -- <file>

На самом деле не имеет значения, медленное ли ваше решение.

367
задан Ciro Santilli 新疆改造中心法轮功六四事件 27 April 2018 в 08:33
поделиться