마지막 커밋 주석을 읽는 방법?


401

커밋 ( $ git -commit -m "") 중에 종종 내가 한 진전을 기억하기 위해 마지막 주석을 읽고 싶습니다. 명령 행을 통해 마지막 커밋 메시지에 직접 액세스하는 쉬운 방법이 있습니까? (저는 Windows를 사용하고 있습니다.)


6
규칙적인 조치 인 경우 선택한 솔루션 / 명령 행에 대해 alias(예 : wherewasi;-)를 작성하십시오. 지점 정보도 포함 할 수 있습니다.
Philip Oakley

답변:


756
git show

입력하는 것이 가장 빠르지 만 diff도 보여줍니다.

git log -1

빠르고 간단합니다.

git log -1 --pretty=%B

커밋 메시지 만 있으면됩니다.


2
% B 형식은 커밋 메시지를 들여 쓰지 않는 데 필요한 형식이었습니다. 그리고 예, @Juh_, git gui가 줄 바꿈을하지 않더라도 단락 당 줄이 아닌 커밋 메시지에 80 열 텍스트를 사용하는 것이 좋습니다.
Peter Cordes

4
@Juh_을 사용하여 전체 메시지를 표시 할 수 git log -1 --pretty=%B | cat있지만 Peter가 말했듯이 80 자로 유지해야합니다.
Ruckus T-Boom

3
@Juh_ 이것은 너무 늦었지만 커밋 메시지를 줄 바꿈하려면 출력을 다음과 같이 파이프하십시오 cat .git log -1 --pretty= | cat
kosgeinsky

8
퍼센트 자리 표시 자에 대한 자세한 내용을 보려면 누군가 kernel.org/pub/software/scm/git/docs/… (아래로 스크롤)를 참조하십시오 format:<string>.
imme

3
당신이 추가하면 format:받는 접두사 %B: 사람의 문서에서 제안, 그것은 출력의 끝에 여분의 빈 라인을 보여 실 거예요git log -1 --pretty=format:%B
마리아노 루이즈

84

일반적으로:

git log -n

마지막 n커밋 메시지를 보여줍니다

보다 우아하게-커밋에 대한 빠른 개요를 원한다면

git log --oneline -n

마지막 n커밋 메시지 의 첫 번째 줄만 표시됩니다 .

더 짧은 명령으로 이것을 git alias 또는 shell alias로 저장할 수 있습니다. glog예를 들어 셸에 셸이 있으며 마지막 10 개의 커밋 메시지가 표시됩니다 glog -10.



14

당신이 사용할 수있는

git show -s --format=%s

여기에서 --format다양한 인쇄 옵션을 사용할 수 있습니다 . 여기에서 설명서를 참조 하십시오 . 구체적으로 %s'대상'을 의미합니다. 또한 diff 내용을 억제하는을 -s나타냅니다 --no-patch.

나는 자주 사용한다

git show -s --format='%h %s'

여기서 %h커밋의 짧은 해시를 나타냅니다.

다른 방법은

git show-branch --no-name HEAD

다른 방법보다 빨리 실행되는 것 같습니다.

실제로 모든 저장소의 상태를 볼 수있는 작은 도구를 작성했습니다. github에서 찾을 수 있습니다 .


IMO 이것은 여러 커밋에 허용되는 답변보다 낫습니다. 그것은 나에게 불필요한 줄 바꿈을 일으키지 않습니다. -5를 포함하여 여러 커밋 (예 : 과거 5 개)을 표시 할 수 있습니다 (예 :git show -s --format=%s -5
Sigmatics

10

git log -1 branch_name 지정된 지점의 마지막 메시지를 표시합니다 (예 : 현재있는 지점 일 필요는 없음).


7

좀 더 읽기 쉽게하려면이 명령을 한 번 실행하십시오.

git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"

그런 다음 실행할 때 :

git lg

당신은 좋은 판독을 얻습니다. 마지막 줄만 표시하려면

git lg -1

여기에 해결책이 있습니다


4

시작하기 git log -1 --pretty='%s'

아래는 모든 경우에 적용됩니다.

git log --pretty='format:%Creset%s' --no-merges -1

  • 불필요한 공백이 없습니다
  • 병합 커밋 삭제
  • 커밋 ID, 날짜 없음, 메시지 만 표시합니다.

붙여 넣기 및 직접 확인



0

방금 이전 명령을 검색하여 쉘에 대한 해결 방법을 찾았습니다.

Ctrl-R 을 누르면 역방향 검색 명령이 나타납니다.

reverse-i-search

그런 다음 git commit -m 입력을 시작 하면 검색 명령으로 추가되며 이전 git commit 메시지가 나타납니다.

reverse-i-search`git commit -m`: git commit -m "message"

시작하다. 그게 다야!

(우분투 쉘에서 테스트)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.