커밋 해시 후에 브랜치를 명명하는 것이 좋지 않다는 것을 알고 있기 때문에 이것은 다소 학문적이거나 난해한 질문입니다. 하지만 궁금합니다.
해시 X
다음 git checkout X
에 분기 이름을 지정한 다음 git은 분기 이름을 선호하는 것 같습니다. 다행히도 그것에 대해 경고합니다.
$ git checkout f878084412c04542e297cb5c52b0fb6f6a2b2870
warning: refname 'f878084412c04542e297cb5c52b0fb6f6a2b2870' is ambiguous.
Git normally never creates a ref that ends with 40 hex characters
because it will be ignored when you just specify 40-hex. These refs
may be created by mistake. For example,
git switch -c $br $(git rev-parse ...)
where "$br" is somehow empty and a 40-hex ref is created. Please
examine these refs and maybe delete them. Turn this message off by
running "git config advice.objectNameWarning false"
Switched to branch 'f878084412c04542e297cb5c52b0fb6f6a2b2870'
대신 커밋 해시로 git checkout <arg>
처리 하도록 강제 할 수 <arg>
있습니까?
짧은 대답은 '아니요'입니다. 이름이 어떤 refs/heads/*
이름 과 정확히 일치 git checkout
하면 해당 분기 이름으로 취급합니다.
간단한 해결 방법이 있습니다. 마지막 숫자를 삭제하는 것입니다. 이제 "모호한"39 자 길이의 해시 ID가 있습니다. 이 39 자에 $ H가 확장을 가정 : 가능한 해시 ID가 다음이다 ${H}0
, ${H}1
..., ${H}f
16 개 가능한 해시 ID의 총. 둘 이상의 일치 항목이있을 가능성은 극히 낮으며 Git은 단축 된 해시 ID를 브랜치 이름이 아닌 해시 ID로 취급합니다.
(물론 브랜치 이름의 이름을 바꾸는 두 번째 간단한 해결 방법이 있습니다. :-))
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다