[GIT] 병합

2022. 8. 10. 02:11GIT

브랜치를 생성하는 목적은 원본 코드에 영향을 주지 않고 분리하여 개발하기 위해서다.

독립된 브랜치에서 개발 작업이 끝나면 다시 원본 브랜치에 작업한 결과를 반영해야 한다.

분리도니 브랜치를 한 브랜치로 합치는 작업을 병합이라 한다.

두 코드를 하나씩 직접 비교하여 수동으로 병합하거나 깃 같은 도구를 사용하여 자동으로 병합할 수 있다.

 

수동 병합

원본 소스 코드에 수정된 내역을 반영하는데 작업한 내용을 옮겨 적는 것은 많은 노동력을 요하는 일이다.

소스 코드가 많다면 수동 병합은 매우 복잡하다.

 

깃으로 자동 병합

깃의 자동 병합은 원본을 기준으로 두 파일의 변경 이력을 비교하고 변경된 파일 내용이 발견되면 자동으로 수정된 코드 내용을 병합하는 것이다.

깃의 병합은 브랜치를 기준으로 한다.

병합하고자 하는 브랜치는 같은 로컬 저장소에 있어야 한다.

그러나 깃이 모든 코드의 병합을 완벽하게 처리할 수는 없다. 이를 충돌이라 한다.

 

병합 방식

깃의 병합은 브랜치를 기반으로 실행한다.

병합할 때 상대적인 기준을 판별하는 알고리즘들이 존재하는데 이 알고리즘은 기준점과 수정 사항을 병합하는 처리 로직에 따른다.

깃은 병합을 위해 두 가지 기본적인 알고리즘 방식을 제공하고 있다.

Fast-Forward 병합

3-way 병합

728x90

'GIT' 카테고리의 다른 글

[GIT] 3 - way 병합  (0) 2022.08.10
[GIT] Fast-Forward 병합  (0) 2022.08.10
[GIT] 워킹 디렉토리 청소  (0) 2022.08.08
[GIT] 스태시  (0) 2022.08.08
[GIT] 브랜치 삭제  (0) 2022.08.05