`git checkout`이 ref를 커밋 해시로 처리하도록 강제 할 수 있습니까?

멀린 2011

커밋 해시 후에 브랜치를 명명하는 것이 좋지 않다는 것을 알고 있기 때문에 이것은 다소 학문적이거나 난해한 질문입니다. 하지만 궁금합니다.

해시 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}f16 개 가능한 해시 ID의 총. 둘 이상의 일치 항목이있을 가능성은 극히 낮으며 Git은 단축 된 해시 ID를 브랜치 이름이 아닌 해시 ID로 취급합니다.

(물론 브랜치 이름의 이름을 바꾸는 두 번째 간단한 해결 방법이 있습니다. :-))

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

어떤 이유로 커밋이 실패하면 git 커밋 메시지를 복구 할 수 있습니까?

분류에서Dev

이전 커밋을 모두 무시하고 마지막 커밋으로 어떻게 git checkout을 할 수 있습니까?

분류에서Dev

Webpack을 사용하면 경고를 오류로 처리하도록 강제 할 수 있습니까?

분류에서Dev

jQuery Deferred / Ajax가 해결 된 후 실패 처리기를 실행하도록 강제 할 수 있습니까?

분류에서Dev

git merge -s 우리가 이전 커밋을 무시하는 이유를 이해할 수 없습니다.

분류에서Dev

사실 후에 병합 커밋에서 충돌하는 파일을 찾을 수 있습니까? 아니면 git이 커밋 메시지에 파일을 나열하도록 강제하는 방법은 무엇입니까?

분류에서Dev

기록을 삭제하고 최근 git 커밋의 sha를 유지할 수 있습니까?

분류에서Dev

git 히스토리를 다시 작성할 때 모든 것을 이전 상태로 되 돌리는 커밋을 어떻게 적용 할 수 있습니까?

분류에서Dev

GIT에서이 2 개의 커밋을 제거 할 수 있습니까?

분류에서Dev

커밋 할 때 git 커밋 메시지를 어떻게받을 수 있습니까?

분류에서Dev

git-merge에서 vimdiff를 사용하여 커밋 ID를 어떻게 표시 할 수 있습니까?

분류에서Dev

대화식 리베이스로 git 커밋 메시지를 변경할 수 없습니다.

분류에서Dev

VisualStudio 2013으로 Git 커밋에 태그를 지정할 수 있습니까?

분류에서Dev

도구 창없이 Acrobat Reader (DC)를 강제로 시작할 수 있습니까?

분류에서Dev

커밋시 Azure Pipeline이 README.md를 수정하도록 할 수 있나요?

분류에서Dev

GitHub : 커밋 메시지로 두 가지 문제를 어떻게 해결할 수 있습니까?

분류에서Dev

git에서 커밋 날짜를 변경할 수 있습니까?

분류에서Dev

커밋 기록이 다른 두 개의 다른 원격 (개인 및 공용)에서 동일한 git 프로젝트를 유지할 수 있습니까?

분류에서Dev

git 로그에 커밋을 열거 할 수 있습니까?

분류에서Dev

git에 커밋하기 전에 분기 할 수 있습니까?

분류에서Dev

VS / msbuild에서 Git 커밋 해시를 어떻게 추출 할 수 있습니까?

분류에서Dev

Git에서 분기로 강제 푸시 할 수없는 경우 원격 커밋 메시지를 변경하는 방법

분류에서Dev

여러 파이썬 프로세스가 C ++ 확장을 통해 동일한 메모리를 공유하도록 강제 할 수 있습니까?

분류에서Dev

Git : 강제 푸시가 내 커밋을 모두 지 웠습니다. 다시 가져올 수 있습니까?

분류에서Dev

Git에서 커밋되지 않은 변경 사항을 병합 충돌로 처리 할 수 있습니까?

분류에서Dev

Git은 A-> B를 병합 한 다음 B-> A를 병합 할 때 새 커밋을 생성하지 않습니다. 다른 팀이 두 번째 병합을 볼 수 있도록하려면 어떻게해야합니까?

분류에서Dev

참조가 각 커밋을 가리킬 때 표시하도록 git reflog 형식을 지정할 수 있습니까?

분류에서Dev

git 커밋을 형식으로 만 표시 / 태그 할 수 있습니까?

분류에서Dev

git rev-list --oneline을 사용할 때 커밋 날짜를 어떻게 표시 할 수 있습니까?

Related 관련 기사

  1. 1

    어떤 이유로 커밋이 실패하면 git 커밋 메시지를 복구 할 수 있습니까?

  2. 2

    이전 커밋을 모두 무시하고 마지막 커밋으로 어떻게 git checkout을 할 수 있습니까?

  3. 3

    Webpack을 사용하면 경고를 오류로 처리하도록 강제 할 수 있습니까?

  4. 4

    jQuery Deferred / Ajax가 해결 된 후 실패 처리기를 실행하도록 강제 할 수 있습니까?

  5. 5

    git merge -s 우리가 이전 커밋을 무시하는 이유를 이해할 수 없습니다.

  6. 6

    사실 후에 병합 커밋에서 충돌하는 파일을 찾을 수 있습니까? 아니면 git이 커밋 메시지에 파일을 나열하도록 강제하는 방법은 무엇입니까?

  7. 7

    기록을 삭제하고 최근 git 커밋의 sha를 유지할 수 있습니까?

  8. 8

    git 히스토리를 다시 작성할 때 모든 것을 이전 상태로 되 돌리는 커밋을 어떻게 적용 할 수 있습니까?

  9. 9

    GIT에서이 2 개의 커밋을 제거 할 수 있습니까?

  10. 10

    커밋 할 때 git 커밋 메시지를 어떻게받을 수 있습니까?

  11. 11

    git-merge에서 vimdiff를 사용하여 커밋 ID를 어떻게 표시 할 수 있습니까?

  12. 12

    대화식 리베이스로 git 커밋 메시지를 변경할 수 없습니다.

  13. 13

    VisualStudio 2013으로 Git 커밋에 태그를 지정할 수 있습니까?

  14. 14

    도구 창없이 Acrobat Reader (DC)를 강제로 시작할 수 있습니까?

  15. 15

    커밋시 Azure Pipeline이 README.md를 수정하도록 할 수 있나요?

  16. 16

    GitHub : 커밋 메시지로 두 가지 문제를 어떻게 해결할 수 있습니까?

  17. 17

    git에서 커밋 날짜를 변경할 수 있습니까?

  18. 18

    커밋 기록이 다른 두 개의 다른 원격 (개인 및 공용)에서 동일한 git 프로젝트를 유지할 수 있습니까?

  19. 19

    git 로그에 커밋을 열거 할 수 있습니까?

  20. 20

    git에 커밋하기 전에 분기 할 수 있습니까?

  21. 21

    VS / msbuild에서 Git 커밋 해시를 어떻게 추출 할 수 있습니까?

  22. 22

    Git에서 분기로 강제 푸시 할 수없는 경우 원격 커밋 메시지를 변경하는 방법

  23. 23

    여러 파이썬 프로세스가 C ++ 확장을 통해 동일한 메모리를 공유하도록 강제 할 수 있습니까?

  24. 24

    Git : 강제 푸시가 내 커밋을 모두 지 웠습니다. 다시 가져올 수 있습니까?

  25. 25

    Git에서 커밋되지 않은 변경 사항을 병합 충돌로 처리 할 수 있습니까?

  26. 26

    Git은 A-> B를 병합 한 다음 B-> A를 병합 할 때 새 커밋을 생성하지 않습니다. 다른 팀이 두 번째 병합을 볼 수 있도록하려면 어떻게해야합니까?

  27. 27

    참조가 각 커밋을 가리킬 때 표시하도록 git reflog 형식을 지정할 수 있습니까?

  28. 28

    git 커밋을 형식으로 만 표시 / 태그 할 수 있습니까?

  29. 29

    git rev-list --oneline을 사용할 때 커밋 날짜를 어떻게 표시 할 수 있습니까?

뜨겁다태그

보관