git에서 특정 커밋을 가리키는 참조 (태그, 분기 및 리모컨 포함) 목록을 가져 오는 방법이 있습니까?git에서 커밋을 가리키는 모든 참조를 얻으려면 어떻게해야합니까?
4
A
답변
5
git show-ref | grep $(git rev-parse HEAD)
은 현재 체크 아웃 된 커밋 인 HEAD
을 가리키는 모든 참조를 보여줍니다.
git show-ref
에는 git repo의 모든 참조 정보가 표시됩니다.
git show-ref | grep "SHA goes here"
은 커밋의 SHA를 가리키는 모든 참조를 보여줍니다.
1
(즉, HEAD)를 마지막 커밋 인간이 읽을 수있는 형식
:
git log -n1 --oneline --decorate
또는 특정 지정하는 커밋 :
git log -n1 --oneline --decorate fd88
을 제공합니다
fd88175 (HEAD -> master, tag: head, origin/master) Add diff-highlight and icdiff
에만 태그/심판/리모트를 얻기 위해, sed
통해 전달 :
$ git log -n1 --oneline --decorate | sed 's/.*(\(.*\)).*/\1/'
보너스 포인트
HEAD -> master, tag: head, origin/master
는이 별칭을 추가 :
decorations = "!git log -n1 --oneline --decorate $1 | sed 's/.*(\\(.*\\)).*/\\1/' #"
출력은 다음과 같습니다 :'fd881751702cf279442abeae382c54c11725beeb refs/heads/master' 'fd881751702cf279442abeae382c54c11725beeb refs/remotes/origin/master' –