Git conflict, merge

김용현·2023년 3월 8일

Git

목록 보기
4/4
post-thumbnail

1. conflict

충돌(conflict)이 일어나는 경우는 다음과 같다.
원격 저장소에 '버전 1'이 있다고 가정하자.
직원 A,B가 원격 저장소에서 '버전 1'을 pull하여 작업하고 있다.
작업을 먼저 끝낸 A는 '버전 1.A'를 push하고 퇴근한다.
B가 '버전 1.B'를 push하려는 순간 충돌(conflict)이 발생한다.

그 이유는 현재 원격 저장소에는 '버전 1.A'가 저장되어 있고 '버전 1.B'는 '버전 1'에서 작업한 결과물이기 때문이다.

따라서 다시 pull 명령어를 통해 '버전 1.A'를 받고 push를 해주면 된다.


2. merge

여기서 merge는 local merge이다.
위 상황에서 직원 B가 pull 명령어를 통해 '버전 1.A'를 받았는데 A와 B가 같은 코드를 건드렸을 경우 아래처럼 충돌이 생긴다.

따라서 위에서 어떤 코드를 선택할 것인지 판단하여 코드를 병합(merge)해주어야 한다.

profile
BeAPro!!

0개의 댓글