-
[Error] git 에러 : cannot lock ref 'refs/heads/new-branch': 'refs/heads/exists-branch' exists; cannot create 'refs/heads/new-branch’공부/git 2023. 8. 22. 00:12
새로운 프로젝트를 진행하면서 새로운 branch를 생성해서 실행하려고 local에서 branch를 새로 생성하고 코드를 수정하고 push를 하려고 하는데, 계속 pull 하라는 에러가 발생하였다.
그래서 main브랜치에 있는 부분과 dev브랜치에 있는 부분이 차이가 발생했나, 혹은 누가 PR, merge를 했나 라는 생각을 했다.
그래서 main브랜치를 pull도 시도 해보고 이것저것 해봤는데, 여전히 동일한 오류가 발생하는 것을 확인했다...
내가 보통 push를 할 때, VS Code에서 gui로 push를 하는데, 여기서 보이는 Error랑 cli로 입력했을 때 오류가 달랐다.
GUI에서 오류는 pull 하라는 메시지가 나왔다.CLI에서 오류는 cannot lock ref 'refs/heads/new-branch': 'refs/heads/exists-branch' exists; cannot create 'refs/heads/new-branch’라는 오류가 발생했다.
CLI를 본 후 어떤 부분인지 이해가 갔다.
문제
기존에 branch명이 feat으로 만들어 져 있었고, 마지막 merge 가 2달 전이었다.
push를 하는 경우 feat으로 먼저 브랜치와 연결된 부분을 확인하고 생성한 브랜치와 비교를 하는 느낌이었다.
그래서 아무리 dev 브랜치와 main 브랜치를 pull 해도 feat 브랜치와 다르게 인식을 해서 push를 할 수 없었다고 생각한다.
해결 방법
기존에 있던 브랜치와 이름이 비슷해서 발생하는 문제라서 브랜치 명을 변경해 주면 해결할 수 있을 것이다.
git branch -m <old-branch> <new-branch>
브랜치 명을 바꾸고 push 하니 정상적으로 push가 됐다.
Ref.
https://jaimemin.tistory.com/2030
[Git] error: cannot lock ref ref/remotes/origin ~'
개요 신규 리모트 브랜치를 생성하고 git push -u [리모트 브랜치] 명령어를 실행하는 도중 아래와 같이 에러 메시지가 발생했습니다. error: cannot lock ref 'refs/remotes/origin/test/push': 'refs/remotes/origin/test'
jaimemin.tistory.com
- 어떤 문제를 해결하기 위해 검색하고 블로그에 작성한 글입니다. 부족한 점이 많지만 틀린점이나 부족한점이 있다면 말씀해 주시면 감사하겠습니다.
'공부 > git' 카테고리의 다른 글
[git] 터미널 설정(git branch 명령어 입력시 화면전환 ) (0) 2023.09.07 [gitlab] gitlab ssh key 생성 (0) 2023.08.25 [Git] your local changes to the following files would be overwritten by merge 오류 (0) 2023.08.20 Github Action을 이용한 ECS에 자동 배포 (0) 2023.06.03 git push 오류(Permission to a denied to b ..... The requested URL returned error: 403 (0) 2022.06.08