나는 git 명령 (어쩌면 그것의 SHA, 아마도 "origin/master"또는 "devel/epxerimental"과 같은 것)을 전달할 수 있기를 원한다. git은 브랜치의 ref 경로를 알려준다. 건네받은 것, 예를 들면 git SHA에 대한 관련 참조 경로를 얻으려면 어떻게해야합니까?
<git_command> 0dc27819b8e9 => output: refs/heads/master
<git_command> xyz/test => output: refs/remotes/xyz/master
...
나는
git show
또는
git log
또는
git rev-parse
떨어져
--pretty=format:%d
에서 난 아무것도 찾을 수 없습니다에서 찾고 있었어요. (
--pretty=format:%d
) 출력은 lotsa 여유 공간과 빈 줄이 매우 이상하며 때로는 둘 이상의 참조 경로가 한 줄에 모여 있습니다.
더 좋은 방법이 있을까요?
읽어 주셔서 감사합니다.
앙드레 SHA1이 심판 경로와 모든 시간에 연결되어 있지 않으므로, 이러한 데이터를 기록 할 고정 된 정보가 없습니다
고마워하고있어 바로 그 10 만 문제가 왼쪽에서 가까운 적어도 9 번 오지 않습니다하십시오 SHA 커밋 머리 또는 기타 dereferencable를 참조하지 않는 전달 된 경우는 전혀 아무 것도 반환하지 않습니다 ? SHA와 동일한 분기에 속한 가장 최근 커밋의 SHA를 알아내는 중간 단계를 수행 할 수있는 아이디어가 있습니까? 예를 들어 커밋 32에 대해 SHA를 전달하면 커밋 0에 대한 SHA가 반환됩니다 (일명 HEAD))? – andreb
@andreb : 좋은 지적입니다. 'show-ref '는 ref에 의해 직접 SHA1을 참조 할 때만 사용됩니다. 'name-rev'는 나머지를 잡는 데 도움이 될 수 있습니다. 내 업데이트 답변을 참조하십시오. – VonC
@andreb : http://stackoverflow.com/questions/917102/in-git-is-there-a-way-to-get-the-friendly-name-for-an-arbitrary-commit 자세한 내용은 – VonC