해커톤 - Git Conflict

이한결·2023년 1월 17일
0

부트 캠프

목록 보기
15/98
post-thumbnail

1월 17일 여정 8일차이다. (사실 16일에 작성을 해야했으나, 밤샘 코딩으로 미처 작성하지 못하였다.)
무박 2일동안의 밤샘 코딩을 하느라 아침에 자고 늦게 일어났다.

오늘의 Today I Learned

Problem

깃허브로 협업을 제대로 시작하자마자 시련이 내게 왔다. 깃허브로 merge를 하기만 하면 충돌이 일어나는 것이다. main을 중심으로 develop브랜치 그리고 각자의 브랜치로 나누어져 있었다. 문제는 각자 브랜치에서 develop으로 병합 할 때 일어났다.

Try

git bash로 충돌을 해결해 보려했지만, 역부족이었다. 명령어를 다 아는 것도 아니고 익숙하지 않아서 무서웠다. 그래서 GUI 버전인 sourcetree와 github, github desktop을 이용해보았다. 하지만 develop으로 병합할때 충돌난 것은 해결수가 없었다.

Solve

충돌이 난 원인부터 찾기로 했다. 충돌이 나는 부분을 유심히 살펴보았다. 그러자 원인이 보이기 시작했다. 바로 같은 부분의 코드를 수정하여 올렸기 때문이었다. 어떻게하면 이걸 수정할 수 있을까? 하는 고민을 한 끝에 2가지 결정을 내렸다. 첫번째는 충돌난 파일을 삭제하는 방법이다. 그러나 파일을 삭제하는 것은 그리 좋은 방법이 아닌 것 같다. 그래서 다른 방법을 택하였다. 구글에 검색하고 팀장님에게 물어보면서 알아낸 방법은 바로 VScode 내부에서 수정하는 것이었다. '현재 코드' '들어올 코드' 2개중에 선택하는 방식 이었다. 비교해서 선택후에 다시 그 파일만 추가하여 커밋해보았다. 역시 잘 되었다.

Know

협업을 하면서 깃허브의 충돌에 대해서 제대로 배웠다. 깃허브의 충돌과 원인 그리고 VScode 내부에서 수정하는 과정까지 추가로 git reset을 하게 되면 내가 이전에 커밋한 것을 삭제하는 것도 알게되었다.

마지막으로

힘들었지만, 힘든만큼 배운것이 많아서 너무 좋았다. 같이 밤을 지새우며 작업한 팀원에게
고마울 따름이다.

profile
평범한 삶을 위하여

0개의 댓글