Это делает меня орехами.Git: Найти удаленный код
Как найти код, который был удален?
я в конечном итоге найти, где она была создана с этим:
$ git log --pretty=oneline -S'some code'
И это достаточно хорошо, но я также интересно узнать, где он был удален, и до сих пор, не кости.
Во-первых, я пробовал git diff HEAD..HEAD^|grep 'some code'
, расширяя диапазон каждый раз, пока не нашел линии, в которых он был удален. Приятно, так что предположим, я нашел его на дальности HEAD^^..HEAD^^^
, затем я делаю git show HEAD^^^
и git show HEAD^^
с grep
, но код негде найти!
Затем я прочитал немного на git bisect
, и конечно же, это дает мне одну ревизию, где преступник должен быть ... Опять git show rev|grep 'some code'
приходит пустой ...
Что за? Что я делаю не так?
Спасибо!
Вы говорите, что, когда вы в основном следующие вы не получите хиты ?:
Если это так, кажется, не .... если бы бессмысленно это в 'log', он должен быть виден в' шоу' ... правильно? Или, может быть, я не понимаю вопроса. – metasimПрошло некоторое время с тех пор, как я был в этой ситуации, и он снова не представился, поэтому я не могу проверить вашу команду. В любом случае, это может пригодиться кому-то. – Ivan
Старое сообщение/комментарий здесь, но именно то, что мне было нужно, тем не менее. @SimeonFitch ваш синтаксис отлично работал для меня, чтобы найти и перечислить фактическую строку (ы) кода, о которой идет речь. Одним из примеров, которые я нашел полезным, было использование опции «--context = n» grep для отображения достаточного количества строк до/после, чтобы узнать, что такое имя файла (есть и другие параметры grep, которые также помогут в этом). Так что в моем случае вторая команда: git show $ SHAHIT | grep --context = 30 'some code' –