[Git]branch merge

김민영·2024년 1월 11일
0

branch

branch는 독립적으로 작업을 진행하고 그 결과를 저장할 수 있는 개별적인 흐름이다. 서로 다른 작업을 별도로 진행하고 나중에 하나의 코드베이스로 병합이 가능하고 여러 개발자가 동시에 다양한 작업을 진행할 때 매우 유용하다.

관련 커맨드

git branch [브랜치 이름] // 브랜치 생성
git branch -d [브랜치 이름] // 브랜치 삭제
git checkout [브랜치 이름] // 브랜치 이동
git checkout -b [브랜치 이름] // 새로운 브랜치를 생성하고 그 브랜치로 바로 이동
git branch // 모든 브랜치 출력 

merge

merge는 다른 branch에서 했던 커밋을 가져오고 싶을 때 사용한다. HEAD가 가리키던 커밋에 다른 브랜치가 가리키던 커밋을 합쳐서 새로운 커밋을 만드는 작업이다.

관련 커맨드

git merge [브랜치 이름] // 브랜치 merge
git merge —abort // merge 취소

branch merge 하는 방법

1. merge

하나의 브랜치와 다른 브랜치의 변경 이력 전체를 합치는 방법이다.

2. rebase

브랜치의 변경사항을 순서대로 현재 브랜치에 적용하면서 합친다.
rebase는 새로운 커밋을 만들지 않아서 rabase로 만들어진 커밋 히스토리는 merge로 만들어진 커밋 히스토리보다 좀 더 깔끔하다.

merge : 두 브랜치를 합쳤다는 정보가 커밋 히스토리에 꼭 남아야하는 경우 사용
rebase : 커밋 히스토리를 깔끔하게 유지하는 게 더 중요한 경우 사용

3. squash

Squash는 여러개의 커밋을 하나의 커밋으로 합치는 것을 의미한다. Squash Merge는 병합할 브랜치의 모든 커밋을 하나의 커밋으로 Squash한 새로운 커밋을 Base 브랜치에 추가하는 방식으로 병합하는 것을 의미한다. Squash를 하게 되면 모든 커밋 이력이 하나의 커밋으로 합쳐지며 사라진다는 점을 주의해야한다.

profile
으라차차

0개의 댓글

관련 채용 정보