Использование git для просмотра предыдущих версий файла? - PullRequest
22 голосов
/ 18 сентября 2008

Есть ли команда, которая позволила бы мне проверить, была ли когда-либо строка "xyz" в файле foo.c в хранилище, и напечатать, в каких ревизиях они были найдены?

Ответы [ 2 ]

27 голосов
/ 18 сентября 2008

Это будет печатать любые коммиты, где diff содержит xyz

git log -Sxyz foo.c
1 голос
/ 23 июля 2018

Это напечатает любые коммиты, где diff содержит xyz. Обратите внимание на --, отделяющий имя файла от остальной части команды.

git log -Sxyz -- foo.c

Без -- я получаю эту ошибку:

fatal: ambiguous argument 'foo.c': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

Изначально я хотел прокомментировать ответ CaptainPicard , чтобы добавить исправление, но у меня пока недостаточно репутации. Если кто-то захочет отредактировать этот ответ, упомянув об этом исправлении, я буду рад снять этот ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...