2016-12-02 2 views
1

저는 현재 git log -G "XYZ" -p을 사용하여 클래스와 같은 특정 항목의 과거 변경 사항을 검색하지만 diff가 매우 큰 곳에 문제가 발생하여 검색어가 변경된 실제 행을 찾기가 어려울 수 있습니다. 출력을 해당 줄로 제한하거나 주위의 몇 줄만 제한하는 방법이 있습니까?어떻게하면 git log를 사용하고 일치하는 줄만 출력 할 수 있습니까?


솔루션 : git grep xyz $(git rev-list --all --max-count=5)

--max 카운트 당신이 git log -G "XYZ" -p | grep pattern 같은 GREP을 할 수

+0

를 얻기 위해 명령 아래에 숫자를 저지 git grep -c xyz $(git rev-list --all)

명령

1) 아래 통과를 사용하여 계산, – nullpointer

+0

을 사용하는 플랫폼에 따라 'grepdiff'가 도움이 될 수 있습니다. – Gregg

답변

1

, (I 오류 Argument list too long을 피하기 위해 그것을 필요로) 선택 사항입니다 자사의 윈도우 사용 FINDSTR ..

경우

대신에 --max-count, --since 및 --until이 좋을 것입니다. 시간은 당신이이 부분에 사용하는 것입니다

git grep xyz $(git rev-list --since="2016-11-20" --until="2016-11-21" --all)

그러나 가장 좋은 방법을 검색 할. 1) 커밋 식별, 파일 이름이 정확한 문제

2) 어쩌면`grep`를 사용 git grep xyz 718dcc690d8e99fd399f21fd71c86b1b8812a53d

+0

이것은 나를 위해 아무것도 반환하지 않는 것으로 보입니다. – Nil

+0

미안하지만, 패턴은 XYZ와 같은 가치가 될 것입니다. – Girish

+0

아, 알겠습니다. 그래서 이것은 라인 변경 만 출력했지만 더 이상 파일 이름이나 커밋 정보를 출력하지 않습니다. – Nil

관련 문제