Wecode - Project 2 (부트캠프)/독학

깃허브 merge conflict 충돌 해결법

JBS 12 2023. 10. 5. 13:19

<충돌해결법> 

충돌이 나는 이유가 뭔지부터. 

 

remote에 내가 만든 BRANCH를 dev에 merge 하려고 하니, 

같지 않아서 충돌이 나는 것. 

 

그럼 일단, remote 깃허브랑 local dev 중에 뭐가 더 최신? 

Remote (그 동안 팀원들이 merge 했을 수도 있으니까) 

 

깃은 "너 충돌 났어" 라고 말하는 거 뿐 해결을 못함. 

그래서 로컬에 받아줘서, 그거를 충돌을 내서, 고쳐준 코드를 다시 올리는 것 

 

깃허브가 알아서 자동 병합을 못하니, 뭐가 최신이고 뭐를 지워야할지 몰라서 

뭐가 들어갈지 볼라거 충돌이 나는거니까, 

 

remote에 있는 dev를 local에서 dev를 pull 받고, 

 

remote에서 하려고 했던 login branch를 remote에 merge 하려던 작업을, github에서는 못하니까, 

Local에서 똑같이 그 작업을 하는 것. local의 dev에 local 의 login branch를 merge 

(그래서 dev에 remote dev를 풀 받고 merge) 그러고 나서, merge 할때 나는 conflict을 local에서 해결후 

깔끔한 것을 다시 올리는 것

 

 

근데, conflict 을 Local에서 해결하는 과정에서, 

dev 에서 

충돌하는 코드 둘다남을수도 있고 (login, signup처럼)

내꺼를 둘중 코드하나를 삭제할수도

내가 만든 게 아닌, 다른 사람꺼를 삭제할수도

 

 

ㅡㅡㅡ

내가 한 

실수1. Local signup에 바로 dev를 받아도 되는디 그게 미스. 충돌 위험 

(Local dev에) 

 

실수2. 충돌 날때  코드 둘다ㅜ남아야하는ㄷ 하나만 남거서 날아간거 

ㅡㅡㅡㅡ

 

회원가입 로그인과 같은 '기능구현’을 따로, 구분된 장소에서 할 순 있지만

같은 곳에서 하면 merge 순서를 주면 되고, 

 

따로 만들었지만 app.js에서 결국 둘다 필요하니 

 

 

기억 안 날 때 참고자료

 

Pull Request 코드 리뷰하기

저번 포스팅에서 깃허브의 merge 방식까지 공부를 진행해보았습니다. 하지만, 코드 리뷰 없이 바로 merge 하는 경우는 매우 드뭅니다. 팀원이 보낸 PR에 대해 누군가는 코드를 리뷰한 후, merge를 승

velog.io