학습개요
브랜치의 생성과 삭제, 브랜치 목록의 확인, 작업 브랜치의 이동에 관한 git 명령어를 학습한다. 가지 브랜치를 만들어 분리 수행되었던 작업은 어느 순간 줄기 브랜치에 병합될 필요가 있다. fast-forward 병합과 3-way 병합 방법을 구분하고, 병합 시 발생할 수 있는 충돌과 해결 방법에 관해 살펴본다.
학습목표
- 브랜치 개념을 설명할 수 있다.
- 깃을 이용하여 브랜치를 생성하고 관리할 수 있다.
- fast-forward 병합과 3-way 병합을 구별하여 실행할 수 있다.
- 3-way 병합에서 발생할 수 있는 충돌 문제를 해결할 수 있다.
정리하기
- 브랜치란 독립적 작업을 위한 것으로, 기존 코드를 복사하여 새로운 작업을 할 때 필요하다.
- 병합이란 대상 브랜치에서 작업한 내용을 현재 브랜치에 통합시키는 것이다.
- git branch 명령을 사용하여 브랜치의 생성과 삭제, 브랜치 목록의 확인 등을 할 수 있다.
- 작업 영역이 깨끗해야 작업 브랜치를 이동시킬 수 있으며 git switch 또는 git checkout 명령을 사용한다.
- fast-forward 병합이란 HEAD가 위치한 작업 브랜치를 자손 브랜치의 위치로 전진 이동시키는 것으로 새로운 커밋은 발생하지 않는다.
- 3-way 병합은 같은 조상에서 갈라져 나온 두 브랜치를 병합하는 것으로 병합을 의미하는 새로운 커밋이 자동 생성된다.
- 3-way 병합에서 충돌이 발생하면 git status 명령으로 충돌이 생긴 파일을 확인하고 직접 수정하여 충돌을 해결한 후 인덱스에 추가하고 커밋한다.