[TIL / Django] Westagram 3 - 1: Git Conflict 해결

나른한 개발자·2022년 1월 17일
0

studylog

목록 보기
31/45

로그인 기능까지 구현을 하고 remote에 push를 했는데, signup브랜치가 메인에 머지되기 전에 signin 브랜치를 만들어서 conflict가 발생했다.

서로 다른 내용 중 어떤 것을 택할 건지만 정해주면 되기 때문에 걱정할 거 없이 conflict를 해결해보자!

일단 깃헙에서는 conflict가 여러개 발생한 경우 conflict를 안보여주기도 해서 conflict 해결은 무조건 로컬에서 해야한다고 한다.


1. main에서 pull하기

로컬의 main브랜치에서 git pull origin main 을 하여 상태를 업데이트 한다.

2. conflict가 발생한 브랜치로 이동하여 main과 merge하기

> git checkout feature/view-signin
> git merge main

이렇게 하면 로컬에서도 conflict가 발생해 수정할 수 있는 상태가 된다.

3. conflict 해결

vs code에서는 친절하게 conflict 발생 부분과 해결할 수 있는 버튼을 제공한다.

내용을 보고 현재 브랜치 내용을 택한다면 Accept current change 버튼을, main의 내용을 택한다면 Accept incoming change버튼을 누르면 된다.

만약 두 브랜치 모두의 내용을 살린다면 conflict 표시가 된 부분을 다 지워주고 저장하면 된다.

4. commit & push

conflict를 다 수정했다면 다음과 같이 커밋하고 다시 remote에 push 해준다.

> git add .
> git commit -m "Resolved conflict"
> git push origin dahee/view-signin

conflict 해결을 처음 해봤는데 생각보다 어렵지 않고 재밌었다.

브랜치를 만들때 부터 conflict가 일어날 줄 알고 있었는데 아예 이렇게 배우는 것도 나쁘지 않은 것같다. ㅋㅋㅋ

profile
Start fast to fail fast

0개의 댓글