programing

지정된 커밋의 커밋 메시지 인쇄

abcjava 2023. 5. 26. 20:23
반응형

지정된 커밋의 커밋 메시지 인쇄

주어진 커밋 하나의 커밋 메시지를 인쇄하려면 배관 명령이 필요합니다. 그 이상도 그 이하도 아닙니다.

"플럼핑"은 아니지만 정확히 원하는 대로 할 수 있습니다.

$ git log --format=%B -n 1 <commit>

"플럼핑" 명령이 꼭 필요한 경우(왜 그것이 요구사항인지는 확실하지 않음),rev-list:

$ git rev-list --format=%B --max-count=1 <commit>

비록 ~일지라도rev-list는 커밋 메시지 외에도 커밋 샤(첫 번째 줄)도 출력합니다.

git show보다 배관 명령에 가깝습니다.git log포맷 옵션은 동일합니다.

git show -s --format=%B SHA1

배관은 아니지만 내 .gitconfig에는 다음이 있습니다.

lsum = log -n 1 --pretty=format:'%s'
lmsg = log -n 1 --pretty=format:'%s%n%n%b'

그것은 "마지막 요약"과 "마지막 메시지"입니다.커밋을 제공하여 해당 커밋의 요약 또는 메시지를 가져올 수 있습니다.(1.7.0.5를 사용하고 있으므로 %B를 사용하지 마십시오.)

지정된 시간 동안 모든 메시지의 매우 압축된 목록을 제공합니다.

git log --since=1/11/2011 --until=28/11/2011 --no-merges --format=%B > CHANGELOG.TXT

사용하기 시작했습니다.

git show-branch --no-name <hash>

보다 더 빠른 것 같습니다.

git show -s --format=%s <hash>

둘 다 동일한 결과를 제공합니다.

실제로 모든 저장소의 상태를 확인하기 위해 작은 도구를 작성했습니다.github에서 찾을 수 있습니다.

여기에 이미지 설명 입력

git-rev-list를 사용하여 커밋 메시지 인쇄

git-rev-list 커밋 메시지를 인쇄할 수 있는 배관 명령입니다.

이렇게 써주세요.

git rev-list --format=%B --max-count=1 <commit> | tail +2
  • --format=%B메시지 표시(제목)%s+%n%n몸을%b)
  • 우리는 단지 하나의 약속에 관심이 있을 --max-count=1뿐입니다.
  • <commit>a의sha,HEAD,branch-name,tag-name,branch1...branch2기타.
  • | tail +2첫 번째 줄은 커밋 샤입니다. 건너뜁니다.

보다 훨씬 빠릅니다.git log또는git show.

다음을 위해 shortlog를 사용합니다.

$ git shortlog master..
Username (3):
      Write something
      Add something
      Bump to 1.3.8 

마지막 커밋 메시지를 혼자서 가져오려면

git log --format=%B -n 1 $(git log -1 --pretty=format:"%h") | cat -

언급URL : https://stackoverflow.com/questions/3357280/print-commit-message-of-a-given-commit-in-git

반응형