Git은 로그에 모든 분기 (숨김 제외)를 표시합니다. 거기 : –not와 –branches; 하지만 제대로 작동하지

확장되는 Git 별칭이 있습니다.

git log --graph --oneline --all --decorate

에 따르면 man git log의심스러운 몇 가지 옵션 거기 : --not--branches; 하지만 제대로 작동하지 않습니다.

은닉을 숨기려면 어떻게 편집해야합니까?


참고 : 당으로 허용 질문의견을.gitconfig지금과 같은 별칭 :

[alias]
    l = log --branches --remotes --tags --graph --oneline --decorate --notes HEAD


답변

대신 일을 --all숨겨 놨다을 필터링하려고 다음과, 최초의 장소에 포함되지 않습니다 :

git log --branches --remotes --tags --graph --oneline --decorate

나중에 필터링을 시도 할 때 발생하는 주요 문제는 숨김이 해당 분기의 최신 커밋 인 경우 (브랜치의 것이 아니더라도 head여전히 가장 최근의 하위 항목이기 때문에) 실제로 필터링 할 수 있다는 것입니다. 로그의 전체 분기가 원하는 것이 아닙니다.


답변

내 별칭 :

[alias]
    l = log --oneline --decorate --graph --exclude=refs/stash

이 경우 숨김을 표시하지 않고 다음 양식을 사용할 수 있습니다.

  • git l 현재 지점
  • git l feature234 특정 지점
  • git l --all 전반적인 역사를 위해

매뉴얼에서 :

–exclude = <glob 패턴>

다음 –all, –branches, –tags, –remotes 또는 –glob이 고려할 것과 일치하는 참조를 포함하지 마십시오.


답변

참고 앤드류의 대답이 숨어 작동하지 않을는 StGit 1) 지점 <branch>.stgit(이 그렇지 않으면 쓰레기 출력은 사용할 수 없게) StGit 버전 0.15에서합니다.

현재 다음 솔루션을 사용합니다.

$ git log --graph --oneline --decorate \
  $(git for-each-ref --format="%(refname)" refs/heads/ refs/remotes/ |
    grep -v "\.stgit$")

1.) StGit ( ” St acked Git “)는 Quilt / mq와 같은 기능을 Git에 제공합니다 (예 : 스택에 패치 푸시 / 팝핑).