[Git]Git conflict

건강전도사·2022년 3월 18일
0

1. 왜 발생하는지


마스터시점에서 feature/main , feature/list로 나누어 두 사람이 작업을함

list가 먼저 pr한후 merge되어 업데이트 된 상황
main이 pull한후 push하였는데 충돌이 남.
원인은 list가 수정한 파일을 main도 수정했기 떄문

만약 공통의 파일을 동시간대에 두 사람이 건드렸다면, masters는 같은 내용중 누구의 것을 받아야되는지 판단이 어려워진다.
이 때, 두 작업자에게 충돌됨을 고지하고 해결할 필요있음

2. 해결 프로세스

일단 후발작업자인 main작업자는 로컬에서 feature/main에서 master에 있는 내용을 가져와서 합쳐봐야한다


gir merge master

VS코드 좌측 공유작업 클릭하면 하기와같이 확인

current change (내가 한거)
incoming change(남이한거 받아온거)

버튼눌러서 수정하거나 지워서 수정할수있는데
처음에는 걍 직접 지워가며 수정할 것

수정이후에는 커밋


리모트 마스터가 머징하려고하면 충돌메시지 상기와 같이 확인하게됨

후발주자는 자신의 로컬마스터로 이동해서 git pull origin master로 리모트 마스터의 내용을 가져온다
(충돌상황 확인해야하므로)


PR내역에서 컨플릭 사항 먼저 확인하고 진행하자

이후 git checkout feature/main으로 이동해서 로그 확인(master의 내용이 없을것이다)
여기서 git merge master (마스터의 내용을 가져와서 feature/main에서 작업해보겠다. 마스터 내용은 건드리지말고, 브랜치 작업공간에서 수정하는걸로)

이 지점에서 팀원과 상의하거나 간단한것은 직접 의사결정해서 문서 수정한이후 동일하게 애드-커밋-푸시-피알

리모트 마스터가 merge하면 끝

profile
실수는 삶과 정신의 여백입니다. 여백이 많은 츄러블슈팅 맛집

0개의 댓글