Olive Study Room
[Git] 충돌 관리와 체리픽🍒 + git의 위대함 본문
오늘은 오류에 온종일 머리 싸매다가 결국 동아리 능력자님이 해결해주셨다..
깃과 충돌관리를 너무 몰라서
1. git ignore에 넣지 말아야 할 것(pbxproj)을 넣어버렸고.. (프로젝트 실행에 필수적인 디렉토리 파일인걸 나만 몰랐지..)
2. 사실 이전에 제대로 된 파일을 merge할 때 충돌을 제대로 해결하지 않았었고
3. 작업한 파일까지 있었다.
그래서 pbxproj가 없어서 파일이 아예 실행이 안되는 상황에 직면함 ㅎ😊🔫
단지 pbxproj가 없는 문제일 뿐인 줄 알았어서
pbxproj가 있는 버전으로 revert(soft)했는데 웬걸 계속 pbx가 없다고 떴고
🍎 알고보니 pbxproj가 위 사진에 있는 헤더때문에 제대로 인식을 못해서 파일 자체를 인식하지 못한 거였다...다...다..
VS Code로 pbxproj충돌을 해결한 후.. (pbxproj에 중복되는 파일을 정리해야한다)
왠지 모르겠지만 파일이 사라졌다고 뜨는 게 몇 개 있어서 그 부분을 수정하고
해놓은 작업을 찾기 위해 체리픽까지 야무지게 수행했다. (나 말고 '빛'님이 해주심..)
아래는 로그..
1. 메인을 pbxproj가 지워지기 전 버전으로 revert하고 이미 pbxproj에 충돌이 있었다는 것을 알게되어 수정함 + 추가 충돌 해결
2. 이것을 커밋(커밋....되돌리...기..)/ recover 브랜치를 만들어 거기에 풀함
3. 메인에 올렸던 작업한 커밋을 체리픽
4. ignore 다시 수정..
터미널로 깃을 사용하는 것이 나름 간단하더랬다. 다음에 이어서 공부한다
아래는 터미널로 깃 사용하는 명령어들.
git push origin recover
git log
git status
git switch -c recover
git remote -v