TIL - 28 : Git flow, Git rebase
in Study Log on Today I learned

Git flow
더이상 merge x -> rebase o
Basic flow
Mainbranch is used for production releasesDevelopbranch is created from main- Main 에서 새로 따서 여기에서 기능 구현
- feature 에서 기능 개발 -> develop으로 merge
- 배포 전 최종단계
Releasebranch- bugfitx
- Production 된 Main branch 에서 갑자기 Bug가 발생할 경우 바로
Hotfixbranch - 수시로 변할때마다 pull 과 merge
Git rebase
branch 의 변경 사항을 다른 브랜치에 합치기 위해서 사용
작업하는 사람도 많고 규모가 커서 commit이 많아지면 불필요한 merge 커밋이 늘어남
Rebase를 하면 불필요한 커밋이 없어지고 시간순이 아닌 브랜치 별로 커밋이 들어감
Rebase의 단점은 commit ID 가 달라짐 (무조건 좋은 것은 아니다.)
하나의 커밋으로 합칠때는
squash, 커밋 메세지도 새로 작성 가능- push 전에는 Main pull 이후 해당 브랜치로 가서
git rebase -i main을 진행 -> squash - 가장 오래된 commit을 pick 한다.
- push 를 할때에는
git push origin feature/login -f으로 강제로 푸쉬
- push 전에는 Main pull 이후 해당 브랜치로 가서