Close

Git Show


git-show란?


git-show는 블랍, 트리, 태그 및 커밋과 같은 Git 개체의 확장된 세부 정보를 보는 데 사용되는 명령줄 유틸리티입니다. git-show에는 개체 유형별로 특정한 동작이 있습니다.

태그는 태그 메시지 및 태그에 포함된 기타 개체를, 트리는 트리에 있는 개체의 이름과 콘텐츠를, 블랍은 블랍의 직접적인 콘텐츠를, 커밋은 커밋 로그 메시지와 커밋 변경 사항의 diff 출력을 보여줍니다.

Git 개체는 모두 참조로 액세스됩니다. 기본적으로 git-show는 HEAD 참조에 대해 작동합니다. HEAD 참조는 항상 현재 브랜치의 마지막 커밋을 가리킵니다. 따라서 git-show를 사용하여 최근 커밋의 로그 메시지와 diff 출력을 표시할 수 있습니다.

Git-show 옵션


<object>…
개체에 대한 참조나 개체 목록을 전달하면 해당하는 특정 개체를 검사할 수 있습니다. 명시적 개체가 전달되지 않으면 git-show는 기본적으로 HEAD 참조를 사용합니다.

--pretty[=<format>]
pretty 옵션은 oneline, short, medium, full, fuller, email, rawformat:<string> 중 하나일 수 있는 보조 형식 값을 사용합니다. 생략하면 형식은 기본값인 medium이 됩니다. 각 형식 옵션은 Git이 show 출력의 형식을 지정하는 방식에 대한 다른 템플릿입니다. <code>oneline</code> 옵션은 커밋 목록을 표시하는 데 매우 유용합니다

--abbrev-commit
이 옵션은 출력 커밋 ID의 길이를 줄여줍니다. 커밋 ID는 40자이며 좁은 터미널 화면에서는 보기 어려울 수 있습니다. 이 옵션을 --pretty=oneline과 결합하면 매우 간결한 git log 출력을 생성할 수 있습니다.

--no-abbrev-commit
항상 40자 커밋 ID 전체를 표시합니다. 그러면 --abbrev-commit--oneline format과 같이 커밋 ID를 줄여주는 다른 옵션은 무시됩니다.

데이터베이스
관련 자료

전체 Git 리포지토리를 이동하는 방법

Bitbucket 로고
솔루션 보기

Bitbucket Cloud에서 Git에 대해 알아보기

--oneline
확장된 명령 --pretty=oneline --abbrev-commit을 사용하기 위한 바로 가기입니다

--encoding[=<encoding>]
Git 로그 메시지의 문자 인코딩은 기본적으로 UTF-8입니다. 인코딩 옵션을 다른 문자 인코딩 출력으로 변경할 수 있습니다. 아시아 언어 터미널과 같이 다른 문자 인코딩을 사용하는 환경에서 Git으로 작업하는 경우에 유용합니다.

>--expand-tabs=<n>
--expand-tabs
--no-expand-tabs

이러한 옵션은 로그 메시지 출력에서 탭 문자를 공백으로 대체합니다. 탭이 확장되는 공백 문자의 수를 구성하도록 n 값을 설정할 수 있습니다. 명시적인 n 값이 없으면 탭이 공백 8개까지 확장됩니다. --no-expand-tabsn=0과 같습니다

--notes=<ref>
--no-notes

Git에는 임의의 '메모' 메타데이터를 개체에 첨부할 수 있는 메모 시스템이 있습니다. git-show를 사용할 때 이 데이터를 숨기거나 필터링할 수 있습니다.

--show-signature
이 옵션은 커밋을 gpg 하위 명령에 전달하여 암호화된 서명으로 서명되었는지 확인합니다.

git-show를 위한 pretty 형식


위에서 설명한 --pretty 옵션은 git-show 출력의 형식을 조정하는 몇 가지 보조 옵션을 허용합니다. 이러한 보조 옵션은 예시 템플릿과 함께 아래에 나열되어 있습니다.

  • oneline
    <sha1> <title line>

Oneline은 가능한 한 많은 정보를 한 줄로 압축하려고 합니다

  • short
    commit <sha1>
    Author: <author>
    <title line>
  • medium
    commit <sha1>
    Author: <author>
    Date: <author date>
    <title line>
    <full commit message>
  • full
    commit <sha1>
    Author: <author>
    Commit: <committer>
    <title line>
    <full commit message>
  • fuller
    commit <sha1>
    Author: <author>
    AuthorDate: <author date>
    Commit: <committer>
    CommitDate: <committer date>
    <title line>
    <full commit message>
  • email
    From <sha1> <date>
    From: <author>
    Date: <author date>
    Subject: [PATCH] <title line>
    <full commit message>
  • raw
    raw 형식은 git-show에 전달된 다른 직접적인 형식 옵션을 무시하고 개체에 저장된 그대로 커밋을 출력합니다. Raw는 --abrev--no-abbrev를 무시하고 항상 상위 커밋을 표시합니다.
  • format:
    format을 사용하면 사용자 지정 출력 형식을 지정할 수 있습니다. C 언어의 printf 명령과 비슷한 방식으로 작동합니다. --pretty=format 옵션은 템플릿 문자열의 보조 값을 사용합니다. 템플릿은 커밋 개체의 데이터로 채워질 자리 표시자 변수에 액세스할 수 있습니다. 자리 표시자의 목록은 다음과 같습니다.

    %H: 커밋 해시
    %h: 축약된 커밋 해시
    %T: 트리 해시
    %t: 축약된 트리 해시
    %P: 상위 해시
    %p: 축약된 상위 해시
    %an: 작성자 이름
    %aN: 작성자 이름
    %ae: 작성자 이메일
    %aE: 작성자 이메일
    %ad: 작성 날짜(형식은 --date= 옵션을 따름)
    %aD: 작성 날짜, RFC2822 스타일
    %ar: 작성 날짜, 상대적
    %at: 작성 날짜, UNIX 타임스탬프
    %ai: 작성 날짜, ISO 8601 형식
    • %cn: 커밋한 사용자 이름
    %cN: 커밋한 사용자 이름
    %ce: 커밋한 사용자 이메일
    %cE: 커밋한 사용자 이메일
    %cd: 커밋한 날짜
    %cD: 커밋한 날짜, RFC2822 스타일
    %cr: 커밋한 날짜, 상대적
    %ct: 커밋한 날짜, UNIX 타임스탬프
    %ci: 커밋한 날짜, ISO 8601 형식
    %d: git-log(1)의 --decorate 옵션과 같은 ref 이름
    %e: 인코딩
    %s: 제목
    %f: 파일 이름에 적합한 정리된 제목 줄
    • %b: 본문
    %N: 커밋 메모
    %gD: reflog 선택기(예: refs/stash@{1})
    %gd: 축약된 reflog 선택기(예: stash@{1})
    %gs: reflog 제목
    %Cred: 색상을 빨간색으로 변경
    %Cgreen: 색상을 초록색으로 변경
    %Cblue: 색상을 파란색으로 변경
    %Creset: 색상 재설정
    %C(...): color.branch에 설명된 대로 색상 지정.* 구성 옵션
    %m: 왼쪽, 오른쪽 또는 경계 표시
    %n: 줄 바꿈
    %%: 원시 %
    %x00: 16진수 코드에서 1바이트 인쇄
    %w([[,[,]]]): git-shortlog의 -w 옵션과 같이 줄 바꿈 전환

git-show 예시


git show --pretty="" --name-only bd61ad98

이것은 커밋에서 다룬 모든 파일을 나열합니다

git show REVISION:path/to/file

그러면 특정 버전의 파일이 표시됩니다. REVISON을 Git sha로 대체합니다.

git show v2.0.0 6ef002d74cbbc099e1063728cab14ef1fc49c783

이렇게 하면 v2.0.0 태그가 표시되고 6ef002d74cbbc099e1063728cab14ef1fc49c783에서도 커밋됩니다

git show commitA...commitD

그러면 commit A부터 commit D까지의 모든 커밋이 출력됩니다

요약


git-show는 Git 리포지토리에 있는 개체를 확인하는 데 아주 다양하게 활용할 수 있는 명령입니다. 특정 수정본의 특정 파일을 대상으로 사용할 수 있습니다. git-show로 커밋의 범위를 확인하면 범위 사이의 개별 커밋이 모두 출력됩니다. git-show는 패치 정보를 만들고 리포지토리의 변경 사항을 추적하는 데 유용한 도구입니다.


이 문서 공유
다음 토픽

여러분께 도움을 드릴 자료를 추천합니다.

이러한 리소스에 책갈피를 지정하여 DevOps 팀의 유형에 대해 알아보거나 Atlassian에서 DevOps에 대한 지속적인 업데이트를 확인하세요.

도구로 가득한 벽을 사용하여 협업하는 사람들

Bitbucket 블로그

DevOps 일러스트레이션

DevOps 학습 경로

Atlassian 전문가와 함께 하는 Demo Den 기능 데모

Bitbucket Cloud가 Atlassian Open DevOps와 작동하는 방법

DevOps 뉴스레터 신청

Thank you for signing up