로그인 기능까지 구현을 하고 remote에 push를 했는데, signup브랜치가 메인에 머지되기 전에 signin 브랜치를 만들어서 conflict가 발생했다.
서로 다른 내용 중 어떤 것을 택할 건지만 정해주면 되기 때문에 걱정할 거 없이 conflict를 해결해보자!
일단 깃헙에서는 conflict가 여러개 발생한 경우 conflict를 안보여주기도 해서 conflict 해결은 무조건 로컬에서 해야한다고 한다.
로컬의 main브랜치에서 git pull origin main
을 하여 상태를 업데이트 한다.
> git checkout feature/view-signin
> git merge main
이렇게 하면 로컬에서도 conflict가 발생해 수정할 수 있는 상태가 된다.
vs code에서는 친절하게 conflict 발생 부분과 해결할 수 있는 버튼을 제공한다.
내용을 보고 현재 브랜치 내용을 택한다면 Accept current change
버튼을, main의 내용을 택한다면 Accept incoming change
버튼을 누르면 된다.
만약 두 브랜치 모두의 내용을 살린다면 conflict 표시가 된 부분을 다 지워주고 저장하면 된다.
conflict를 다 수정했다면 다음과 같이 커밋하고 다시 remote에 push 해준다.
> git add .
> git commit -m "Resolved conflict"
> git push origin dahee/view-signin
conflict 해결을 처음 해봤는데 생각보다 어렵지 않고 재밌었다.
브랜치를 만들때 부터 conflict가 일어날 줄 알고 있었는데 아예 이렇게 배우는 것도 나쁘지 않은 것같다. ㅋㅋㅋ