❗️문제 상황
- 각자의 브랜치에서 작업을 하고 순차적으로 develop 브랜치에 merge를 하여 합치기로 했다.
- 팀원 분이 먼저 merge를 하고 나의 프로젝트를 머지하는 과정에서 많은 conflict 발생
- conflict를 해결하기 위해 다른 코드 부분을 보고 필요하다고 생각하는 코드를 살리고 merge를 진행함.
- 프로젝트를 열고 실행을 시켜본 결과 아래와 같음 에러가 발생하여 컴파일이 되지 않았다. (사실 정확히 나와 같은 에러는 아니다. 빨리 문제를 해결하고 싶어서 나의 에러 메시지를 캡처 하지 않고 계속 undo하고 다시 merge하는 과정을 진행했다.)
Line 621: Opening and ending tag mismatch: textView line 557 and subviews
❗️원인
- 프로젝트에서 폴더를 만들면서 오타가 있는 폴더명이 있었다. 나의 브랜치에서는 수정이 되지 않고 팀원분의 브랜치에서는 수정이 되어 있었다.
- conflict를 해결하기 위해 코드를 추가, 수정하면서 팀원 분이 담당하신 부분에 관련 된 코드는 팀원 분 브랜치 변경사항을 따랐고 내가 맡은 부분은 내 브랜치의 변경사항을 따랐다.
- 위에 과정에서 이름이 다른 폴더에서 같은 파일을 수정하면서 달라진 부분을 확실히 체크하지 못하고 merge를 진행한 것 같다.
❗️해결 방법
- 사실 해결방법이라고는 딱히 없었다. 어느 부분에서 tag 문제가 발생했을지 고민해보고 그 부분을 위주로 conflict 해결 과정에서 코드를 추가, 수정했다.
- 나의 경우에는 프로젝트 폴더명이 달라서 생긴 문제라고 생각을 했고 그 부분을 위주로 conflict 과정에서 알맞은 코드를 선택했다. (달라진 부분의 코드를 잘 보면 폴더명과 파일명이 표시되어 있다. 그것을 위주로 판단을 했고 코드를 추가, 수정했다.)
❗️힘들었던 점 & 나의 생각
- 폴더명에 오타가 있던 것을 나도 알고 있었다. 그래서 내가 먼저 수정을 하고 develop브랜치에 수정 커밋만 push를 하려고 했다.그러나 그 과정에서 경로 문제가 발생하여 쉽게 해결을 하지 못했었다. 그래서 우선 폴더명은 나중에 수정하기로 했었다. (분명 팀원 분에게도 공지를 해드렸는데 놓치신 것 같다…)
- 그래도 어떻게든 잘 해결하려고 많은 구글링과 고민을 했다. 이런 과정을 겪으면서 git과 gitHub을 좀 더 공부할 수 있는 기회가 있었던 것 같다. 확실히 git & gitHub 관련 책을 읽고 공부를 한다고 해도 미래에 내가 겪을 문제를 미리 다 대처를 할 수 있는 것은 아니라는 것을 생각하게 되었다. 그래서 구글링 과정도 중요한 것이고 에러 메시지를 보고 유추하려고 고민하는 시간도 중요하다고 생각했다. 몰입하여 해결하려고 하다보면 언젠가는 다 해결이 되겠지..(몰입하다 보면 진짜 시간이 순삭이여서 시간 관리도 중요..)
- 폴더명, 파일명 오타 제발 조심하기..
- git과 gitHub과 더 친해지기! 협업을 잘하는 개발자가 진짜 좋은 개발자! 함께 하고 싶은 개발자가 되자.
- 팀원분과 진행 사항 짧은 주기로 공유하고 push, pull, merge 짧은 단위로 진행하기
❗️참고 자료
Opening and ending tag mismatch - Xcode Storyboard error