Git Workflow & Rebase

유지후·2022년 6월 8일

1. Git flow가 어떤 방식으로 운영되는지

  1. main branch 에서 바로 각자 branch를 파는게아니라 중간에 작업용으로 develop branch 를 판후 거기서 작업을함 (develop branch 가 사실상 main branch 느낌)

  2. develop branch 에서 main branch 로 바로 release 하는게 아니라
    배포전 검증 후 release 하기 위해 release branch 를 파서 진행

  3. 만약에 배포후 에러가 생기면 메인에서 직접 hotfix branch를 파서
    거기서 수정 후 바로 main에 병합

2. main, develop, feature, release, hotfix 브랜치

main : 서비스 배포를 할 때 실질적으로 사용하는 branch

develop : main branch 는 배포를 할 때 사용하기 때문에 개발자들이 main branch에 바로 합치지 않기 위해 개발용으로 만든 branch

feature : 실제로 개발자가 코드를 작성하는 branch

release : 마지막으로 배포전 검증을 위해 만들어진 branch

hotfix : 배포 후 서비스를 제공하고 있을 때 문제가 발생하면 최대한 빨리 수정하기 위해 만들어진 branch

3.branch를 병합하는 두 가지 방식인 rebase와 merge

rebase :
불필요한 merge commit 제거
같은 작업을 진행한 commit 끼리 모으기(history관리가 용이)

merge :
모든 feature branch 마다 merge commit 이 남음.
만약 main 브랜치를 공유하는 개발자가 많고, 프로젝트의 규모가 크다면, branch history가 지저분해짐
복잡한 프로젝트 history
독립된 브랜치에서 로직 하나를 작성하고 수정하더라도, 다른 작업과 그 내역이 겹쳐 구분하기가 힘듬

4.squash

commit 을 하나로 합쳐주는 기능

  1. git rebase -i main
  2. 제일 오래된 commit을 pick 나머지 commit들은 s(squash의 약자)
  3. ESC한후 :wq로 창에서 나옴
  4. 불필요한 내용을 제거하고 현재 수정 내역에 대한 커밋 메세지를 정성껏 작성한다.

0개의 댓글