logo

힘내 로그

버전 관리 시스템의 장점은 변경 사항을 기록한다는 것입니다. 이러한 기록을 통해 커밋, 버그 파악, 업데이트 등의 데이터를 검색할 수 있습니다. 그러나 이 모든 역사는 우리가 탐색할 수 없다면 쓸모가 없을 것입니다. 이 시점에서 git log 명령이 필요합니다.

Git 로그는 저장소에서 일어나는 모든 일의 기록을 검토하고 읽는 유틸리티 도구입니다. git log와 함께 여러 옵션을 사용하여 기록을 보다 구체적으로 만들 수 있습니다.

일반적으로 git log는 커밋 기록입니다. Git 로그에는 다음 데이터가 포함됩니다.

    커밋 해시는 SHA(Secure Hash Algorithm) 알고리즘에 의해 생성된 40자 체크섬 데이터입니다. 고유번호입니다.작성자 메타데이터 커밋: 작성자 이름, 이메일 등 작성자 정보입니다.커밋 날짜 메타데이터: 커밋 시간의 날짜 타임스탬프입니다.제목/메시지 커밋: 커밋 메시지에 명시된 커밋에 대한 개요입니다.

git log 명령을 종료하는 방법은 무엇입니까?

git log 명령을 실행했는데 거기에서 멈추는 상황이 발생할 수 있습니다. 입력하거나 bash로 돌아가고 싶지만 그럴 수 없습니다. 클릭하면 입력하다 키를 누르면 종료 플래그까지 이전 명령으로 이동합니다.

이 문제에 대한 해결책은 다음과 같습니다. 누르다 그만큼 q(종료를 나타내는 Q) . 그러면 상황이 종료되고 명령줄로 돌아갑니다. 이제 모든 명령을 수행할 수 있습니다.

기본 Git 로그

Git log 명령은 git의 가장 일반적인 명령 중 하나입니다. Git에 가장 유용한 명령입니다. 기록을 확인해야 할 때마다 git log 명령을 사용해야 합니다. 기본 git log 명령은 가장 최근 커밋과 헤드 상태를 표시합니다. 다음과 같이 사용됩니다:

 $ git log 

위 명령은 마지막 커밋을 표시합니다. 아래 출력을 고려하십시오.

힘내 로그

위 명령은 최근 커밋을 모두 나열합니다. 각 커밋에는 SHA 알고리즘에 의해 생성된 고유한 sha-id가 포함되어 있습니다. 또한 날짜, 시간, 작성자 및 일부 추가 세부정보도 포함됩니다.

명령줄에서 스크롤, 점프, 이동, 종료와 같은 작업을 수행할 수 있습니다. 명령줄에서 스크롤하려면 k를 눌러 위로 이동하고 j를 눌러 아래로 이동하고 스페이스바를 눌러 전체 페이지 아래로 스크롤하여 한 페이지 위로 스크롤하고 q를 눌러 명령줄을 종료합니다.

<

Git 로그 온라인

oneline 옵션은 출력을 한 줄에 하나의 커밋으로 표시하는 데 사용됩니다. 또한 커밋 SHA의 처음 7자와 커밋 메시지와 같은 출력을 간략하게 표시합니다.

다음과 같이 사용됩니다:

 $ git log --oneline 

따라서 일반적으로 --oneline 플래그로 인해 git log가 표시된다고 말할 수 있습니다.

  • 한 줄에 하나의 커밋
  • SHA의 처음 7개 문자
  • 커밋 메시지

아래 출력을 고려하십시오.

힘내 로그 1

위 출력에서 ​​더 정확하게 볼 수 있듯이 모든 커밋은 7자리 sha 번호와 커밋 메시지가 포함된 한 줄에만 제공됩니다.

힘내 로그 통계

log 명령은 수정된 파일을 표시합니다. 또한 업데이트된 전체 기록의 줄 수와 요약 줄도 표시됩니다.

일반적으로 stat 옵션은 표시하는 데 사용된다고 말할 수 있습니다.

확장 파일 자바
  • 수정된 파일,
  • 추가되거나 제거된 줄 수
  • 변경된 총 레코드 수의 요약 라인
  • 추가되거나 제거된 줄입니다.

다음과 같이 사용됩니다:

 $ git log --stat 

위의 명령은 수정된 파일을 표시합니다. 아래 출력을 고려하십시오.

힘내 로그 2

위 출력에서 ​​나열된 모든 커밋이 저장소의 수정 사항임을 알 수 있습니다.

Git 로그 P 또는 패치

git log patch 명령은 수정된 파일을 표시합니다. 또한 추가, 제거 및 업데이트된 행의 위치도 표시됩니다.

다음과 같이 사용됩니다.

 $ git log --patch 

또는

 $ git log -p 

일반적으로 --patch 플래그는 다음을 표시하는 데 사용된다고 말할 수 있습니다.

  • 수정된 파일
  • 추가하거나 제거한 줄의 위치
  • 구체적인 변경 사항.

아래 출력을 고려하십시오.

힘내 로그 3

위 출력은 추가되거나 제거된 줄의 위치와 함께 수정된 파일을 표시합니다.


Git 로그 그래프

Git log 명령을 사용하면 Git 로그를 그래프로 볼 수 있습니다. 커밋을 그래프 형식으로 나열하려면 --graph 옵션과 함께 git log 명령을 실행하세요. 다음과 같이 실행됩니다:

 $ git log --graph 

출력을 보다 구체적으로 만들려면 이 명령을 --oneline 옵션과 결합할 수 있습니다. 다음과 같이 작동합니다:

 $ git log --graph --oneline 

커밋 기록 필터링

필요에 따라 출력을 필터링할 수 있습니다. 이는 Git의 독특한 기능입니다. 출력에 금액, 날짜, 작성자 등과 같은 다양한 필터를 적용할 수 있습니다. 필터마다 사양이 있습니다. 출력에 대한 일부 탐색 작업을 구현하는 데 사용할 수 있습니다.

각 필터를 자세히 살펴보겠습니다.

금액별:

git log 명령을 사용하여 출력 커밋 수를 제한할 수 있습니다. 가장 구체적인 명령입니다. 더 적은 수의 커밋에 관심이 있는 경우 이 명령은 복잡성을 제거합니다.

- 옵션을 포함하여 git log의 출력을 제한합니다. 마지막 세 개의 커밋만 원하는 경우 git log 명령에 -3 인수를 전달할 수 있습니다. 아래 출력을 고려하십시오.

힘내 로그 4

위 출력에서 ​​볼 수 있듯이 git log의 출력을 제한할 수 있습니다.

날짜 및 시간별:

날짜와 시간을 기준으로 출력을 필터링할 수 있습니다. 우리는 통과해야 해 --후에 또는 -전에 날짜를 지정하는 인수입니다. 이 두 인수는 다양한 날짜 형식을 허용합니다. 다음과 같이 실행됩니다:

선택 정렬 자바
 $ git log --after=&apos;yy-mm-dd&apos; 

위 명령은 지정된 날짜 이후에 이루어진 모든 커밋을 표시합니다. 아래 출력을 고려하십시오.

힘내 로그 5

위 명령은 '2019-11-01' 이후의 모든 커밋을 나열합니다.

또한 '어제', '1주 전', '21일 전' 등과 같은 해당 참조문을 전달할 수도 있습니다. 다음과 같이 실행됩니다.

 git log --after=&apos;21 days ago&apos; 

위 명령은 21일 전에 이루어진 커밋을 표시합니다. 아래 출력을 고려하십시오.

힘내 로그 6

두 날짜 사이의 커밋을 추적할 수도 있습니다. 두 날짜 사이에 생성된 커밋을 추적하려면 문 참조를 전달하세요. --전에 그리고 --후에 날짜. '2019-11-01'과 '2019-11-08' 사이의 커밋을 추적한다고 가정해 보겠습니다. 다음과 같이 명령을 실행하겠습니다.

메이븐 저장소
 $ git log --after=&apos;2019-11-01&apos; --before=&apos;2019-11-08 &apos; 

위 명령은 날짜 사이에 이루어진 커밋을 표시합니다. 아래 출력을 고려하십시오.

힘내 로그 7

위 출력은 지정된 기간 사이의 커밋을 표시합니다. --after 및 --before 대신 --since 및 --until을 사용할 수 있습니다. 왜냐하면 그것들은 각각 동의어이기 때문입니다.

작성자:

특정 사용자의 커밋을 필터링할 수 있습니다. 특정 팀 구성원이 수행한 커밋만 나열하고 싶다고 가정해 보겠습니다. -author 플래그를 사용하여 작성자 이름별로 커밋을 필터링할 수 있습니다. 이 명령은 정규식을 사용하여 해당 패턴과 일치하는 작성자가 만든 커밋 목록을 반환합니다. 패턴 대신 정확한 이름을 사용할 수 있습니다. 이 명령은 다음과 같이 실행됩니다.

 $ git log --author=&apos;Author name&apos; 

위 명령은 해당 작성자가 수행한 모든 커밋을 표시합니다. 아래 출력을 고려하십시오.

힘내 로그 8

위 출력에서 ​​작성자의 모든 커밋을 볼 수 있습니다. 임 드위베디1 나열되어 있습니다.

정규식이나 정확한 이름 대신 문자열을 사용할 수 있습니다. 아래 진술을 고려하십시오.

 $ git log --author=&apos;Stephen&apos; 

위의 명령문은 작성자가 Stephen이라는 이름을 포함하는 모든 커밋을 표시합니다. 작성자 이름이 정확히 일치할 필요는 없습니다. 단지 지정된 문구만 있을 뿐입니다.

우리가 알고 있듯이 저자의 이메일은 저자의 이름과도 연관되어 있기 때문에 저자의 이메일을 패턴이나 정확한 검색으로 활용할 수 있습니다. 이메일 서비스가 google인 작성자의 커밋을 추적하고 싶다고 가정해 보겠습니다. 이를 위해 '@gmail.com'으로 와일드카드를 사용할 수 있습니다. 아래 진술을 고려하십시오.

 $ git log -author=&apos;@gmail.com&apos; 

위 명령은 패턴에 지정된 작성자의 커밋을 표시합니다. 아래 출력을 고려하십시오.

힘내 로그 9

커밋 메시지 기준:

커밋 메시지를 기준으로 커밋을 필터링합니다. grep 옵션을 사용할 수 있으며 작성자 옵션으로 작동합니다.

다음과 같이 실행됩니다:

 $ git log --grep=&apos; Commit message.&apos; 

완전한 메시지 대신 짧은 형식의 커밋 메시지를 사용할 수 있습니다. 아래 출력을 고려하십시오.

힘내 로그 10

위 출력은 커밋 메시지에 commit이라는 단어가 포함된 모든 커밋을 표시합니다.

파일 이름, 콘텐츠 등을 기준으로 필터링할 수 있는 등 다양한 필터링 옵션을 사용할 수 있습니다.