땅꼬마 개발자는 SM업무를 하고 있어유 : )
업무를 하다가 왜 우리 시스템은 머지가 아닌 체리픽으로 소스를 관리하는지 궁금해서 차이점을 정리해보려고 한다
그 상황속에서 어떻게 사용하고 있는지 아래에서 확인해보자
우선 기본 개념은
▶ 체리픽(cherry-pick) - 가져오고 싶은 해당 작업내역(커밋)만 가져온다
▶ 머지(merge) - 브랜치와 브랜치를 병합한다
이렇게 이해하면 된다.
아래의 이미지를 보면서 확인해보자
프로젝트는 커밋을 기준으로 형상관리가 된다.
개발에서는 작업1~4까지 되어 있는 상황이다 하지만 작업3만 품질에서 테스트를 진행한다고 한다.
따라서 체리픽을 통해 작업3에 해당되는 내용만 품질에 가져왔다.
개발브랜치의 작업2, 작업4는 품질에 반영이 되지 않는다.
품질에서 -> 운영으로 머지(merge)가 되었다.
품질 브랜치가 운영 브랜치로 들어간 형태를 볼 수 있다.
운영의 MERGE1에서 소스코드들은 품질의 소스코드들과 동일하다라고 이해하면 된다.
Cherry-pick과 Merge로 나눠진 이유는
프로젝트가 직렬(순차적으로 개발)이냐 병렬(동시에 개발)이냐에 따라서 정해지는 것 같다.
작업단위별로 순차적으로 진행되는 프로젝트라면 Merge를 통해 형상을 관리하는게 사고와 충돌을 줄일 수 있고, 병렬로 진행되는 프로젝트라면 Cherry-pick을 통해 관리하는것이 효율적이다.
'WORK' 카테고리의 다른 글
땅꼬마의 카멜케이스 변환기 Excel! (0) | 2023.07.31 |
---|---|
땅꼬마의 linux - MySQL Workbench 연결하기!! (0) | 2023.04.13 |
땅꼬마의 소스트리(Sourcetree) 사용기 (0) | 2023.02.21 |
땅꼬마의 Git 개념정리! (0) | 2023.02.20 |
땅꼬마의 Intelij에 Spring-boot 프로젝트 생성하기! (0) | 2022.12.15 |