아 세상에...
별 거 안 건드렸는데(프로젝트를 클로닝 하고 Xcode 베탈 깔긴 했다 🤣) 작업한 내용이 local에서 remote로 push가 되지 않는다. 😇
Xcode에 Github을 다시 연결해 봐도, remote를 몇 번 다시 연결해 봐도 상황은 변하지 않는다.
사실 비슷한 문제를 작년에 겪은 적이 있었다.
당시에는 지금보다 작업량이 더 많은 상황이었기 굉장히 패닉이었는데 덕분에 제대로 배웠는지 뭐가 문젠지 알 수 있었다.
위 사진을 보면 main branch의 head와 현재 local repogitory의 head가 어긋난 걸 알 수 있다.
지금 같은 상황이 펼쳐지면 remote, local, main 세 개의 head가 제멋대로인 상태라 상황을 한눈에 보기 어려운데, console로 보면 좀 수월하다.
프로젝트가 위치하는 폴더로 이동해 위의 메뉴로 접근한다.
console에서 명령어로 이동하는 것보다 훨씬 직관적이기 때문에 선호하는 방식이다.
이후에는 명령어를 하나 입력한다.
git reflog
현재 local git에서 commit 하고 swith를 한 것뿐만 아니라 정말 모든 내용을 출력해 준다.
맨 위에 HEAD로 표시된 commit의 번호화 origin/main과 main이 위치한 커밋의 번호가 다른 것을 볼 수 있다.
즉, 마지막 commit이 이상한 Branch에서 진행 됐다는 것을 의미한다.
이 Head를 다른 Branch들에 연결만 해 주면 문제는 해결된다.
git push origin head:main
현재 Brach의 Head를 origin repo의 main에 push 하겠다는 의미이다.
git hub에 계정이 연결된 Xcode와는 달리 Console은 계정의 정보를 모르므로 계정과 token을 전달하면 push가 진행된다.
github의 repo에도 제대로 업로드가 된 것을 볼 수 있다.
기존에 엉망이 된 repo는 과감히 삭제해 주고, 업데이트된 remote로 스위치 해 주면 모든 게 해결된다.
'삶은계란 (Diary) > Xcode' 카테고리의 다른 글
Xcode archive시 'Asset validation failed' 문제 (0) | 2023.07.26 |
---|---|
PHPickerViewController가 특정 이미지를 불러오지 못하는 문제 (0) | 2023.07.24 |
사라진 'Info.plist' 파일 다시 만들기 (0) | 2022.09.28 |
애플의 locale identifier (0) | 2022.09.27 |
Xcode의 Vary for traits는 어디로 갔을까? (0) | 2021.12.17 |