Git에서 커밋 기록 필터링

John Wachira 2023년6월20일
  1. 금액으로 커밋 내역 필터링
  2. 최신 커밋 필터링
  3. 커밋 기록을 날짜별로 필터링
  4. 작성자별로 커밋 기록 필터링
  5. 여러 사용자로 커밋 기록 필터링
  6. 특정 사용자의 커밋 제외
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 명령에 공급할 수 있는 다른 매개변수가 여전히 있습니다.

메시지, 범위, 파일 및 콘텐츠별로 필터링할 수도 있습니다.

작가: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

관련 문장 - Git Log