본문 바로가기

공통/Github

충돌(Conflict), 로컬병합(Merge)

충돌(Conflict)

A와 B가 동시에 작업한다고 생각해보세요.

기존에 원격에 push된 내용이 XYZ라고하면,

A는 이 내용을 0으로 수정했고, B는 이 내용을 abcd로 수정했다고 가정해보세요.

같은 branch에서 A와 B가 각각 commit하고 github에 push하고 싶어요.

그럼 내용이 각자 다르게 나타나며 충돌(conflict)가 생깁니다.

 

이럴때 해결책은 2개 있습니다.

첫째, 각자 branch를 새로 만들어서 push하고 github에서 pull requet합니다.

 

그 다음은 로컬병합(Merge)입니다.

 

git pull origin master 를 통해 원격에 있는 master branch내용을 가져옵니다.

conflict 문구 보이면 충돌이 일어났다는 겁니다.

 

코드 부분도 확인해보겠습니다.

로컬 환경에서는 ABC지만, commit내용(아직 push안 된)에서는 XYZ입니다.

남기고 싶은 부분만 남기고 기타 부분을 삭제하면 됩니다.

혹은 빨간박스안에 명령어를 클릭해도 됩니다.

 

수정하는 과정이 로컬병합(Merge)라고 불립니다.

수정 후 다시 commit하고 push하면 됩니다.

'공통 > Github' 카테고리의 다른 글

다른 환경에서 프로젝트 수정  (0) 2023.08.14
버전 되돌리기(Reset)  (0) 2023.08.14
프로젝트 복제(Clone)  (0) 2023.08.14
브랜치 병합(pull request)  (0) 2023.08.14
브랜치(branch)  (0) 2023.08.13