`git log`에서 브랜치 이름을 어떻게 표시합니까?


216

의 출력에서 ​​분기 이름을 어떻게 표시 할 수 git log있습니까?

예를 들어 git log --graph --all커밋에 대한 훌륭한 개요를 얻지 만 어떤 라인이 마스터인지, 어떤 라인이 마스터인지 혼란 스럽습니다.


1
일부 최신 git업데이트 이후 기본적으로 연결된 헤드 또는 태그 이름 표시가 이미 기본적으로 수행 된 것으로 보입니다 .
underscore_d

답변:


321

장식 옵션을 사용해보십시오.

git log --graph --all --decorate

태그 또는 브랜치가 가리키는 커밋에 주석을 추가합니다.


42
--pretty사용할 수있는 %d당신이 '장식'을 원하는 곳.
CB Bailey

4
@ 놀리 : 당신은 무엇을 보여줄 것으로 기대하고 있습니까? 모든 커밋이 분기 팁은 아닙니다.
CB Bailey

9
@noli git은 분기의 가장 최근 커밋 (팁)에서만 분기 이름을 저장합니다. 역사의 모든 커밋은 평등하고 익명입니다. 모든 커밋에 지점 이름이 포함되도록 명명 된 지점을 원하는 경우 Mercurial을 사용할 수 있습니다.
Sampo Smolander

7
@CharlesBailey : 나는 심판의 색상을 좋아합니다 git log --graph --all --oneline --decorate. 저자와 날짜와 같은 다른 것들을 보여주기 위해 git graph사용 하는 별칭 이 --pretty있지만 %d의 색상은 없습니다 --decorate. 나는 지금 내 모든 심판 노란색 사용 당신은 내가 할 수있는 방법을 알고 --pretty%d의 색상을 상속 문자열을 --decorate?
Gauthier

3
@Gauthier --pretty형식에 기본 색상을 사용하려면 색상을 %C(auto)지정할 요소 앞에 요소를 추가하십시오 . 예git log --pretty=format:"%cd %h %cn %s %C(auto)%d"
Radon8472

7

나는 이것과 비슷한 것을 찾고 있었지만 어떤 지점이 바뀌 었는지 알고 싶었습니다. 이 답변이 다른 사람들에게도 사용되기를 바랍니다.

충분한 사용자가 프로젝트를 떠나고 디렉토리가 종교적으로 종교를 기반으로하지 않은 blackbox경우 리포지토리와 브랜치 / 태그의 현재 위치를 사용할 수없는 암호화 의 위험을 조사 중입니다)adminskeyrings

아래 답변이 keyrings디렉토리가 마스터에서 업데이트되지 않은 경우 도움이되었다는 것을 알았습니다 ...

기본적으로 --source지점 / 태그를 표시하는 데 필요한 것이 추가 되었습니다. 추가 --name-only하면 실제로 변경된 파일이 표시됩니다.

cd /path/to/repo-that-uses-blackbox-encryption
git log --graph --all --decorate --source --name-only keyrings

또 다른 유용한 답변 : 분기 이름으로 git log를 표시하는 방법


나를 위해 --source혼자서 HEAD모든 커밋을 제공 합니다. 와 조합 --all이 서로 다른 가지를 구분하는 것 같지만 표시된 정보가 내가 기대되지 않습니다 : 내가에서 한 커밋을 위해 master대신 얻는, refs/heads/master나는 (일부 사설을 얻을 refs/remotes/origin/…). 합병 및 / 또는 새로운 지점이 Git내역 정보를 잃어버린 것 같습니다.
vinc17

대신을 사용 --all하여 분기를 필터링 할 수 --branches --remotes=<pattern>있지만 두 개의 분기가 병합되면 Git은 더 이상 하나가 커밋 된 정보를 얻지 못합니다.
vinc17

1

터미널로 oh-my-zsh를 사용하는 경우 git 별칭을 사용할 수 있습니다. 모두 repo oh-my-zsh / plugins / git 에서 볼 수 있습니다 . 이 터미널을 사용하지 않으면 별명을 잡고 원하는 별명을 자신의 환경에 붙여 넣을 수 있습니다.

허용 된 답변 은 oh-my-zsh에서 별칭으로 git log --graph --all --decorate사용할 수 있는 명령을 나타냅니다 glgga.

개인적으로 나는 다음 glods으로 번역 되는 별칭을 선호합니다 .

git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset' --date=short
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.