1. 이슈

git 프로젝트에서 새로운 remote 를 추가하고 데이터를 pull 하는 도중에 다음 오류가 발생했습니다.

fatal: bad object refs/remotes/origin/main

git 설정의 ref(Reference) 에서 origin/main 이 손상된 것으로 판단되었습니다.

2. 해결

git 은 .git/refs 아래 참조 파일이 가리키는 오브젝트를 찾지 못하면 bad object 오류를 출력합니다. 손상된 ref 파일을 잠시 치워둔 후 git gc 를 실행하면, 참조를 정리하고 도달 불가능한 오브젝트를 청소하는 과정에서 깨진 참조가 해소됩니다. 정상 동작을 확인했다면 백업해 둔 tmp 파일을 삭제하면 됩니다.

mv .git/refs/remotes/origin/main ./tmp
git gc

참고