Git에는 브랜칭을 활용한 변경 이력 관리 전략이 있습니다.
이번 포스트에서는 브랜치 전략에 대해 알아보겠습니다.
브랜치의 분류
브랜치 전략에서는 브랜치를 5가지로 분류합니다.
main: 서비스로 제공된 브랜치
feature(기능): 새 기능을 개발하는 브랜치
develop(개발): 다음 출시 버전을 개발하는 브랜치
release(배포): 이번 출시 버전을 준비하는 브랜치
hotfix(수정): 배포된 버전에서 문제가 있을지 즉시 수정을 하는 브랜치
브랜치의 병합
분류한 브랜치에서 작업이 끝나면 다시 메인 브랜치로 합치는 작업을 합니다.
이러한 작업을 Merge라고 부릅니다.
Merge에는 여러가지 방법이 존재합니다.
브랜치 병합 - Fast-Forward
main 브랜치에 작업이 존재하지 않고 다른 브랜치에만 작업이 존재하여 병합하는 것을 의미합니다.
Fast-Forward 실습
작업을 하지 않은 main 브랜치와 새로운 작업이 추가된 새로운 브랜치를 준비합니다.


새로운 브랜치에서 pull request를 생성합니다.

요청을 병합한 후 커밋 히스토리를 확인해보면 정상적으로 병합된 것을 확인할 수 있습니다.


브랜치 병합 - 3-way
각 브랜치에 작업이 있을 때 main 브랜치에 두 브랜치의 코드를 병합하는 것을 의미합니다.
3-way 방법은 같은 파일에 변경 사항이 있을 경우에 충돌이 일어납니다.
병합 충돌 해결하기
같은 파일을 각각의 브랜치에서 수정한 후에 병합해보겠습니다.
병합 과정에서 충돌이 일어나는 것을 마주할 수 있습니다.
Git에서는 충돌한 파일을 알려주고 Resolve confilicts를 눌러서 해결할 수 있습니다.
충돌한 부분은 <<<<<<<, =======, >>>>>>> 마크로 표시합니다.
충돌이 발생한 부분을 적절하게 수정한 후 마크를 제거하면 pull request를 할 수 있습니다.
지금까지 Git의 브랜치 전략과 병합하는 방법에 대해서 알아보았습니다.
이번 포스트도 봐주셔서 감사합니다!
'Git' 카테고리의 다른 글
[GitHub] 커밋 컨벤션을 알아보자 (0) | 2024.11.27 |
---|---|
[GitHub] 깃 이슈 알아보기 (0) | 2024.11.26 |
원격 브랜치 생성 (0) | 2024.08.16 |
Branch 알아보기 (0) | 2024.08.14 |
Github 알아보기 (0) | 2024.08.14 |