2025년 01월 15일
Github에서 Pull Request
를 할 때 병합 부분을 본다면, 세 가지 방식이 있는 걸 확인할 수 있어요.
Create a merge commit
, Squash and merge
, Rebase and merge
로 볼 수 있죠.
Merge를 이해하려면 먼저 Commit
을 이해해야 합니다.
Commit
은 파일이나 폴더의 추가, 변경 사항을 저장소에 기록하는 행위입니다.
이 Commit
들이 쌓여서 Commit History
가 만들어지고,
Commit History
를 통해 저장소에서 벌어진 기록을 볼 수 있어요.
언제 어느부분이 어떻게 수정되고 누가 수정했는지 까지 기록을 볼 수 있기 때문에 협업에서도 굉장히 유용합니다.
그럼 이제 세 가지의 Merge 전략을 살펴봅시다.
기본 Merge인 Create a merge commit
은 말그대로 병합 커밋을 한번 더 남기고,
모든 커밋을 히스토리에 그대로 기록합니다.
따라서 더욱 기록을 자세히 볼 수 있어요.
Squash and merge
는 하나의 Pull Request의 커밋들을 하나로 뭉쳐서 병합하는 방식이에요.
모든 커밋을 보여주지 않아서 한눈에 자세히 확인하기는 힘들 수 있어도,
커밋이 너무 많이 쌓여있어서 길어진다거나, 작업 브랜치가 많을 때의 병합 상황을 편하게 볼 수 있습니다.
Rebase and merge
는 개발 브랜치
에서 변경한 내용을 중앙 브랜치
에서 한 것처럼 보이게 할 수 있어요.
한 줄로 히스토리가 남아서 깔끔하고 이쁘다는 장점이 있지만,
언제 병합을 했는지 알아보기 힘들다는 단점이 있어요.
개발용 브랜치의 커밋을 똑 떼어다가 붙이는 방식이랍니다.
개인적으로는 화려한 히스토리를 좋아하기에 난 기본 전략을 좋아한다는..
© 2024.
Heeyeon Lee
all rights reserved.