Git log에서 변경내용 찾기

깃으로 버전관리를 하고 있지만, 제대로 사용을 못하고 있는 거 같다. 어떤 기능 작업을 하다가 그 기능을 잠정적으로 사용하지 않기로 하였다. 최근에 다시 그 기능을 사용해야 하게 되었는데, 기능을 다시 처음부터 작성하는 것은 아니지만 그 기능을 사용하도록 연결하는 부분을 작업을 해야하는 상황이었다.

다시 그 부분을 짜도 되지만, git을 사용한 경우 변경 작업 내용을 보면된다.

git log에서 문자열을 찾을 수 있다.

git log -S

커밋 변경(추가/삭제) 내용 안의 텍스트를 검색한다.

git log -S

git log -G

더 세세한 조건을 걸어 찾고 싶다면 로그를 검색할 때 -G 옵션으로 정규표현식을 써서 검색

git log -G

git log -p

각 커밋의 diff 결과를 보여줌

위의 명령어에 -p 옵션을 붙여보았다. git log -p -S"kyuwoon369@gmail.com" --oneline git log -p -S

git log -p -G"kyuwoon369@gmail.com" --oneline git log -p -S

git grep

깃 grep은 커밋 트리의 내용이나 워킹 디렉토리의 내용을 문자열이나 정규표현식을 이용해 찾을 수 있다.

git grep Autowired git grep Autowired

git grep -n Autowired

-n 옵션을 추가하면 찾을 문자열이 위치한 라인 번호도 같이 출력한다.

git grep -n

최종적으로 깃 히스토리에서 내가 원하는 문자열을 찾고싶다.

git log -p -G"kyuwoon369@gmail.com" --oneline

이렇게 쓸 수 있겠다. git alias에 추가해서 문자열만 찾도록 해도 좋을 거 같다. 종립님께서 알려주신 fzf preview 로 미리보기 ui 만들수도 있겠다.

참고

깃 search 깃 Viewing the Commit History

results matching ""

    No results matching ""