[git] git pull에 대한 Git 오류 (로컬 참조를 업데이트 할 수 없음)

나는 분기 마스터 만 있고 “git pull”을 시도 할 때마다이 오류가 발생합니다.

error: Couldn't set refs/remotes/origin/master
From /var/lib/git/xxx/project
 ! a0f80ea..49177a3  master     -> origin/master  (unable to update local ref)

그리고 “git pull origin master”를 수행하면 다음과 같이 표시됩니다.

error: Couldn't set ORIG_HEAD
fatal: Cannot update the ref 'ORIG_HEAD'.

나는 찾고 있었지만 이유를 찾을 수 없다



답변

저희 팀과 저는이 오류에 부딪 혔습니다. SourceTree를 가져올 때 local ref를 업데이트 할 수없는 했습니다.

우리는 사용했었다 :

git gc --prune=now

이렇게하면 문제를 해결해야하는 중복 참조 개체가 제거됩니다.

다음은 git 참조 및 정리에 대해 자세히 알아볼 수있는 몇 가지 링크입니다. .

금주의 자식 팁

git-prune 문서

자식 참조


답변

다음과 같이 해결했습니다.

git remote prune origin


답변

gitbach line commande를 사용 git update-ref하여 로컬 브랜치의 참조를 업데이트 하는 데 사용 합니다.

$ git update-ref -d refs/remotes/origin/[locked branch name]

다음을 사용하여 당겨 $ git pull

[locked branch name] 커밋 ID 불일치로 인해 오류가 발생한 분기의 이름입니다.


답변

git 저장소 루트 폴더에서 다음 명령을 사용하십시오.

rm .git/logs/refs/remotes/origin/master


답변

Bitbuck Repo에서 내 lokal 복사본으로 가져 오려는 동일한 오류 메시지를 발견했습니다. 또한 Branche 마스터가 하나만 있으며 명령 git pull origin master이이 오류 메시지를 표시합니다.

From https://bitbucket.org/xxx
 * branch            master     -> FETCH_HEAD
error: Couldn't set ORIG_HEAD
fatal: Cannot update the ref 'ORIG_HEAD'.

다음과 같이 해결책

  1. git reflog 마지막 커밋 번호 찾기
  2. git reset --hard <numnber> 마지막 커밋으로 재설정
  3. git pull origin master 실수없이 다시 당기다

답변

rm .git/refs/remotes/origin/master

그것은 나에게 작동합니다!


답변

를 실행하는 git pull사용자가 저장소를 만든 사용자와 동일한 지 확인합니다. 파일 권한이 올바르지 않습니다.