Поиск файла во всех ветках Git - PullRequest
26 голосов
/ 06 декабря 2011

Как мне искать во всех ветках Git проекта имя файла?

Я помню часть имени файла (только окончание), поэтому я хотел бы иметь возможность искать что-то вроде *_robot.php во всех ветвях, и посмотрите, какие файлы соответствуют этому.Я бы предпочел иметь историю поиска, а не только заголовки веток.

Ответы [ 2 ]

30 голосов
/ 06 декабря 2011

Это один из способов:

git log --all --name-only --pretty=format: | sort -u | grep _robot.php
7 голосов
/ 13 мая 2012

Вот более простой вариант решения @ manojlds: Git действительно может напрямую рассмотреть все ветви (--all), распечатать имена их измененных файлов (--name-only) и только эти имена (--pretty=format:).

Но Git также может сначала отфильтровать определенные имена файлов (регулярное выражение), поместив регулярное выражение имени файла после разделителя --:

git log --all --name-only --pretty=format: -- <file_name_regexp> | sort -u

Итак, вы можете напрямую сделать:

git log --all --name-only --pretty=format: -- _robot.php | sort -u
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...