Подтвердить что ты не робот

GitHub: поиск более старых версий файлов

Я знаю, что с помощью GitHub я могу искать все текущие версии своих файлов в репо. Тем не менее, я также хотел бы просмотреть старые версии моих файлов репо. Например, скажем, у меня в моем коде была функция, называемая get_info(), но удалила ее несколько версий назад, можно ли найти get_info и найти код. Если это невозможно с помощью GitHub, возможно ли это из командной строки git?

ИЗМЕНИТЬ

Спасибо @Mark Longair за то, как это можно сделать из командной строки git. Если это невозможно в GitHub, это будет отличная возможность иметь.

4b9b3361

Ответ 1

В настоящее время я не считаю возможным поиск в полной истории кода репозитория на веб-сайте github - ближайший поиск - только поиск в текущем коде репозитория с опцией "поиск кода" на эта страница.

Однако из командной строки вы можете найти любые коммиты, в которые были введены или удалены строки, обозначающие get_info с опцией -S до git log. например:.

git log -Sget_info -p

(n.b. не должно быть пробела между -S и поисковым термином)

(также обратите внимание: для поиска более одного слова, окружающего в '):

git log -S'get info' -p

Итак, как минимум, чтобы найти коммит, где была введена функция, и тот, который ее удалил. Я добавил -p, чтобы вы также могли видеть патчи - если множество коммитов внесли изменения, в которых упоминалась функция, которая может быть полезна. Если функция была только на другой ветке, также может быть полезно использовать --all для поиска всех ветвей.

Jefromi указывает в комментарии ниже, что git 1.7.4 представит вариант -G в качестве альтернативы - это изменение суммируется в последнее сообщение в блоге от Юнио Хамано (git сопровождающий): http://gitster.livejournal.com/48191.html