prosource

경고: 끊어진 참조/리모트/원점/헤드 무시

probook 2023. 4. 18. 23:04
반응형

경고: 끊어진 참조/리모트/원점/헤드 무시

며칠 전부터 키를 눌러 bash 브랜치 이름을 입력할 때마다 다음과 같은 메시지가 나타납니다.

경고: 파손된 참조/리모트/원점/HEAD 경고 무시: 파손된 참조/원점/HEAD 경고 무시

예를 들어, feature/foo 라고 하는 브런치를 가지고, 를 누르면 다음과 같이 표시됩니다.

git checkout f

$ git checkout fwarning: ignoring broken ref refs/remotes/origin/HEAD
warning: ignoring broken ref refs/remotes/origin/HEAD
eature/

최근에 저희 팀의 누군가가 리모콘에서 오래된 개발 부서를 삭제했을 때 이 사실을 알게 되었습니다.HEAD 상태를 확인하기 위해 다음 명령을 실행했습니다.

$ git symbolic-ref refs/remotes/origin/HEAD
refs/remotes/origin/old_dev

이 명령어는 더 이상 존재하지 않는 오래된 개발 브랜치의 이름을 출력합니다.

다음을 사용하여 경고를 수정했습니다.

$ git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/new_dev

(여기서 "new_dev"는 브랜치 이름입니다.HEAD가 가리키는 브랜치 이름으로 대체합니다.)

이것은 symbolic-ref보다 간단한 해결책입니다.


처음에 오리진/HEAD를 가리킨 브랜치를 제외했을 가능성이 있기 때문입니다.

1. 리모트 브랜치를 다음에 나타냅니다.

git branch -r

2. 결과에 표시되지 않는 경우:

origin/HEAD -> origin/(something)

3. 다음 항목만 다시 가리킵니다.

git remote set-head origin master

여기서 "master"는 프라이머리(헤드) 브랜치의 이름입니다.


입니다.git branch -r다시 한 번 말하지만origin/HEAD -> origin/(something)경고는 사라집니다.

명령어를 실행하기만 하면 됩니다.

#replace the <branch name> with your main branch - master, main, etc.    
git remote set-head origin <branch name>

맛있게 드세요!

로컬 마스터의 이름을 main으로 변경한 후 몇 가지 문제가 발생합니다.

  • git fetch: "원격 참조/헤드/마스터를 찾을 수 없습니다.";
  • git branch -u origin/main main: "오류: 요청된 업스트림브런치 'syslog/main'이 존재하지 않습니다.";
  • git remote set-head origin main: "오류:유효한 참조가 아닙니다: refs/remotes/origin/main";
  • git push -u origin main: "error: 일부 참조를 'github.com:/.filename'에 푸시하지 못했습니다."
  • git symbolic-ref HEAD refs/heads/main또는git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/main또는git update-ref refs/heads/main main,
    • 그리고 나서.git branch -r: "경고: 파손된 참조/리모트/원점/헤드 무시";

이 문제의 해결 방법은 다음과 같습니다.

  1. git remote -v, git 저장소 URL 복사
  2. git remote rm origin, 리모트를 삭제합니다.
  3. git remote add origin <REPOSITORY_URL>, 리모트 URL을 리셋합니다.
  4. git fetch origin
  5. git branch -u origin/main main, 브런치를 업스트림으로 리셋합니다.

해결 방법은 폴더/파일을 삭제하는 것이었습니다.

./.disc/refs/refs/remotes/{disc_name}

그 후, 나는 다시 git fetch를 할 수 있었다.

내 경우엔 파일이 문제였다..git\refs\remotes\origin\master며칠 전에 컴퓨터가 무의식적으로 전원이 끊겨서 그런 것 같아요.

파일 내용을 파일에서 찾을 수 있는 40글자의 16진수로 바꿈으로써 해결했습니다..git\FETCH_HEAD.

이 오류를 수정하려면 다음 파일 YOUR PROJECT/.git/refs/remotes/origin/master를 제거한 후 git fetch를 실행하여 다시 다운로드하십시오.그게 너의 문제를 해결해 줄 거야.

인 것 .origin더 이상 존재하지 않아요
이치노

  • GitHub: https://github.com/USER_OR_ORG/REPOSITORY/settings/branches -> "디폴트 브랜치"
  • 비트버킷 클라우드: https://bitbucket.org/USER_OR_ORG/REPOSITORY/admin -> "본점"
  • 비트버킷 서버: http://git.sid.distribution.edf.fr/projects/PROJECT/repos/REPOSITORY/settings -> "디폴트 브랜치"

이미 응답한 것처럼 - 경고는 원격 분기가 다른 분기에 병합+삭제된 경우와 같이 원격 분기가 더 이상 존재하지 않음을 나타냅니다.

제 경우 로컬 지점이 더 이상 필요하지 않고 고장난 참조를 수정할 수 없었기 때문에 삭제해야 했습니다.therefore그 、git branch -d feature/..그 일을 해냈지

언급URL : https://stackoverflow.com/questions/45811971/warning-ignoring-broken-ref-refs-remotes-origin-head

반응형