- Git flow
- Git merge vs. Git rebase

Main branch : 정식으로 서비스하는 배포단계(release) 의 코드가 모이는 곳Develop branch : 개발단계의 코드가 모이는 곳Main branch 의 느낌Release branch : bug 완료되고, 배포 준비되면 release branch 만듬Hotfix : 배포 후(서비스 도중), Main branch 에서 바로바로 고치는 것
- merge vs. rebase : 방법만 다를 뿐,
branch 병합을 위해 사용하는 것
- rebase
base: 해당 branch 가 생성될 때의 commit 지점rebase: 기준(=pull request 발생 시점)이 되는 commit을 최신화하여 방금 막 branch 를 생성하여 갖고 있음
- conflict
- commit과 commit 사이에서 일어나는 작업 내용 사이의 충돌
rebase하다보면, conflict 많이 발생
- squash : commit message 를 하나로 합침
- 해당 branch 에서 작업한 내용을
title (요약)과body(상세 내용)를 통해 하나의 commit message 로 작성- 보통
rebase하면서squash작업도 같이 함

불필요한 merge commit 생성branch history 가 지저분해지기 쉬움복잡한 프로젝트 history
- merge commit 이 남지 않음
- commit 순서에 관계없이, feature branch 별 commit 으로 구분하여 관리


Rebase는 내 commit의 base를 변경하여, commit history를 일렬로 잘 정리해줌
해당 브랜치의 base commit 확인하는 방법 : git merge-base main feature/sign-in (필수 아님)
<출처> wecode(코딩 부트캠프) 세션