9월 21일 화요일

< yujin />·2021년 9월 21일
0

일일회고

목록 보기
6/10

🌈 알게된것

git push 시, src refspec [branch] does not match any 에러


평소와 같이 git add .로 변경사항을 스테이징하고, git commit -m "message"로 커밋 후 remote에 push 했더니 발생한 오류.
add, commit, push는 늘 하던 일인데 에러가 떠서 너무 당황스러웠다.
호다닥 구글링을 해보니 대체로

  1. 커밋을 하지 않고 push를 해서 => 커밋을 잘하자
  2. 해당 브랜치가 없는데 push 하려 해서 => 브랜치를 만들자
  3. .git 정보가 바뀌어서 => git init 하고 다시 하자

이 경우를 설명을 해놓았던데, 난 세가지 경우 모두 해당 사항 없다...
커밋도 안하고 push 하는 사람이 있어???? (바로 나임) 근데 이번엔 아니다.
대체 뭐란 말임?!

아무튼 스택 오버플로우에서 해답을 발견했는데 git push origin HEAD:[branchName] 이렇게 해주면 된다길래 해봤더니 제대로 push가 되긴 했다.


👆 HEAD: 사용해서 push 전


👆 push 후

HEAD:를 사용하니 문제도 해결되고 HEAD가 가리키는게 바뀌긴 했다.
근데 문제는 이렇게 해줬는데 또 일일이 push 할 때마다 HEAD:를 입력해줘야 한다는 것... ㅎ ㅏ ㅇ ㅏ...... 나는 HEAD: 없이 push 하고싶다.
그래서 몇가지 가정을 해서 고쳐보려고 노력했으나...

추측 1. development 브랜치의 refs를 찾을 수 없어서

chayujin@chayujin-ui-MacBookPro resume-maker % git show-ref
fac17cd54c19d6f0da29819978e7e4457f369cb3 refs/heads/dev
fac17cd54c19d6f0da29819978e7e4457f369cb3 refs/heads/main
5c7850039e6d0b02a1ff907c80c09017a51818d0 refs/remotes/origin/development
2ce7e7d8baf399cc582392a4e3734aaab4273cd0 refs/remotes/origin/main

git show-ref 명령어를 이용해서 ref를 살펴봤는데, refs/remotes/origin/HEAD 가 없는 걸 발견했다. 그래서 HEAD를 development 브랜치로 명시적으로 추가해줘야하나? 싶어서 git remote set-head origin development 해서 추가해줬다.

chayujin@chayujin-ui-MacBookPro resume-maker % git show-ref
69a533a6f1d96b343216035c1511d2194d135e04 refs/heads/dev
e883dd3890b79f806f204201722b99cad9bee907 refs/heads/main
369e901c22483ee9a3730b19a68ad677d8591b82 refs/remotes/origin/HEAD // ✅ 여기가 추가됨
369e901c22483ee9a3730b19a68ad677d8591b82 refs/remotes/origin/development
2ce7e7d8baf399cc582392a4e3734aaab4273cd0 refs/remotes/origin/main

음.. 좋다. 이제 development 브랜치가 HEAD 이겠지? 하고 다시 HEAD: 없이 push 시도. 여전히 안된다 ^_^...

추측 2. remote에 브랜치가 두개있는데 (main, development) main이 default여서

  • 그래서 깃헙의 settings에서 development 브랜치를 default로 바꾸어보았지만.. 여전히 안된다^_^

추측 3. 원격저장소에 뭔가 문제 생겨서

  • git remote remove origin 후, git remote add origin [git저장소] 하여 다시 remote를 등록해보았으나... 여전히 안된다^0^ 마찬가지로 git init 으로 저장소를 초기화도 해보았으나... 여전히 안된다^_^

결론 👉 :HEAD 붙여서 push 하기.
으아아아아아아아아~~~!!! 이게 뭐라고 이렇게 시간을 잡아먹었는데 결국 완벽히 해결되지 못해서 찜찜하다 ㅠㅠㅠ

Reference

profile
잘하진 않지만 포기하진 않을거햐

0개의 댓글