Program Tip

git에서 ^ {}은 무엇을 의미합니까?

programtip 2021. 1. 8. 22:12
반응형

git에서 ^ {}은 무엇을 의미합니까?


git ls-remote 명령 끝에 두 개의 이상한 문자를 발견했는데 이것이 무엇을 의미하는지 궁금합니다.

0e4c39557ccb6789173c  refs/tags/2011-11-04
966f8df553f18c486820  refs/tags/2011-11-04^{}

^ {}이 무엇을 의미하는지 아십니까? 또한이 git 태그가 중복 된 것처럼 보이는 이유는 무엇입니까?


^{}표기법이 설명되어 gitrevisions수동 :

<rev>^{}, e.g. v0.99.8^{} 

접미사 ^ 다음에 빈 중괄호 쌍이 오면 객체가 태그가 될 수 있으며 태그가 아닌 객체가 발견 될 때까지 태그를 반복적으로 역 참조 할 수 있습니다.

이 경우- refs/tags/2011-11-04태그 개체를 가리키는 태그입니다 0e4c39557ccb6789173c. 그렇게함으로써 refs/tags/2011-11-04^{}태그를 태그가 아닌 최종 객체로 역 참조 할 수 있습니다.이 경우에는- 966f8df553f18c486820(커밋)입니다. 참고 ^{}비 태그 개체에 적용 할 때 조작 불능입니다.

git show-ref명령을 사용하여 태그와 최종 역 참조 된 태그가 아닌 객체를 볼 수 있습니다.

$ git show-ref --tags
3521017556c5de4159da4615a39fa4d5d2c279b5 refs/tags/v0.99.9c
423325a2d24638ddcc82ce47be5e40be550f4507 refs/tags/v1.0rc4^{}

$ git show-ref --tags --dereference
3521017556c5de4159da4615a39fa4d5d2c279b5 refs/tags/v0.99.9c
6ddc0964034342519a87fe013781abf31c6db6ad refs/tags/v0.99.9c^{}
055e4ae3ae6eb344cbabf2a5256a49ea66040131 refs/tags/v1.0rc4
423325a2d24638ddcc82ce47be5e40be550f4507 refs/tags/v1.0rc4^{}

로부터 git show-ref수동 :

-d 
--dereference 

태그도 객체 ID로 역 참조하십시오. "^ {}"가 추가 된 상태로 표시됩니다.


참고 git ls-remote자식 2.8 새로운 필터가 (3 월 (2016)).

참조 99c08d4 커밋 , ba5f28b 커밋 , 80b17e5 커밋 , 40a8852 커밋 , 54813bd 커밋 에 의해 (2016년 1월 18일) 토마스 Gummerer을 ( tgummerer) . 제안자
: pedro rijo ( pedrorijo91) .
(Merged by Junio ​​C gitsterHamano -- in commit bd6934a , 03 Feb 2016)

즉, 다음과 같은 태그 만 표시 할 수 있습니다.

git ls-remote --refs

출력에서 벗겨진 태그 또는 HEAD와 같은 의사 참조를 표시하지 마십시오.

참조 URL : https://stackoverflow.com/questions/12938972/what-does-mean-in-git

반응형