HOWTO · Git
Git에서 커밋 기록 필터링
프로젝트에서 특정 커밋을 선택할 수 있습니다.
이 페이지의 내용
이 문서에서는 커밋 기록을 필터링하기 위해 Git에서 사용할 수 있는 다양한 명령에 대해 설명합니다. git log 명령을 사용하여 리포지토리의 커밋 기록을 확인합니다.
아래에서 볼 수 있듯이 git log 명령과 함께 여러 조합을 사용하여 출력 형식을 지정할 수 있습니다.
다음을 기준으로 커밋 기록을 필터링할 수 있습니다.
금액으로 커밋 내역 필터링
아래 명령을 사용하여 git log 명령으로 표시되는 커밋 수를 제한할 수 있습니다.
$ git log -4
위의 명령은 저장소에 있는 최근 4개의 커밋을 출력합니다.
최신 커밋 필터링
최신 커밋을 필터링하려면 개수만 지정하면 됩니다. 최신 6개 커밋을 원하는 경우 다음을 실행할 수 있습니다.
$ git log -6
커밋 기록을 날짜별로 필터링
--after 및 --before 플래그를 사용하여 시간 프레임을 지정할 수 있습니다. 아래에서 볼 수 있듯이 플래그는 다양한 형식을 허용합니다.
$ git log --after="2022-7-27"
이 명령은 2022년 7월 27일 이후에 생성한 커밋만 표시합니다. 아래와 같이 상대 참조를 전달할 수 있습니다.
$ git log --after="yesterday"
아래 예와 같이 --before와 --after를 모두 사용할 수 있습니다.
$ git log --after="2022-7-20" --before="2022-7-25"
--after 및 --before 대신 --since 및 --until을 각각 사용할 수 있습니다.
작성자별로 커밋 기록 필터링
아래와 같이 git log 명령에 --author 플래그를 추가하여 특정 작성자의 커밋을 표시할 수 있습니다.
$ git log --author="John"
위의 명령은 이름에 John이라는 구문이 포함된 작성자의 커밋을 표시합니다. 아래와 같이 복잡한 검색을 할 수 있습니다.
여러 사용자로 커밋 기록 필터링
아래 명령을 사용하여 여러 사용자별로 커밋 기록을 필터링할 수 있습니다.
$ git log --author="John\|Ann"
이러한 명령은 이름에 John 또는 Ann이라는 문구가 포함된 작성자의 커밋을 표시합니다.
특정 사용자의 커밋 제외
다음은 예제 명령입니다.
$ git log --perl-regexp --author='^((?!Chris).*)$'
위의 명령은 작성자 이름에 Chris가 없는 모든 커밋을 표시합니다.
결론적으로 위는 우리가 사용하는 가장 일반적인 필터링 옵션입니다. 그러나 출력을 필터링하기 위해 git log 명령에 공급할 수 있는 다른 매개변수가 여전히 있습니다.
메시지, 범위, 파일 및 콘텐츠별로 필터링할 수도 있습니다.