programing

단일 파일의 기록에서 문자열 검색

sourcejob 2023. 6. 28. 21:41
반응형

단일 파일의 기록에서 문자열 검색

그래서 만약 가 foo.rb라는 파일을 가지고 있고 그것이 bar라는 누락된 메서드에 대한 오류를 제공한다면, 나는 foo.rb의 기록에서 문자열을 검색하고 싶습니다.bar과거에 정의된 적이 있는지 확인합니다.

이 모든 Git 기록에서 문자열을 검색하시겠습니까?

그러나 모든 파일을 검색합니다.저는 단지 한 파일로 검색하고 싶습니다.

이를 위해 -S 옵션을 사용하여 로그를 가져올 수 있습니다.

git log -S'bar' -- foo.rb

아니면 이것을 시도해 볼 수도 있습니다(관련 질문에서 모든 git 내역에서 문자열 검색).

git rev-list --all foo.rb | (
    while read revision; do
        git grep -F 'bar' $revision foo.rb
    done
)

실제로 파일 내용을 찾고 메시지/패치를 적용하지 않습니다.

사용한git log -S "string" --follow -p "path of file"이는 해당 문자열에 대한 모든 변경 내역을 보여줍니다.

git log 명령에 대한 재정의가 있습니다(수동에서).

$ git log Makefile      # commits that modify Makefile

그래서 당신은 다음을 사용할 수 있습니다.

git log foo.rb | grep "bar"

@Jakub Narębski가 언급했듯이 'bar'가 포함된 diff를 정규식으로 검색하는 것을 선호합니다.

git log -G'bar' -- foo.rb

언급URL : https://stackoverflow.com/questions/10215197/git-search-for-string-in-a-single-files-history

반응형