TIL - 28 : Git flow, Git rebase

TIL - 28 : Git flow, Git rebase

Git flow


  • 더이상 merge x -> rebase o

  • Basic flow

    • Main branch is used for production releases

    • Develop branch is created from main
      • Main 에서 새로 따서 여기에서 기능 구현
      • feature 에서 기능 개발 -> develop으로 merge
    • 배포 전 최종단계 Release branch
      • bugfitx
    • Production 된 Main branch 에서 갑자기 Bug가 발생할 경우 바로 Hotfix branch
    • 수시로 변할때마다 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 으로 강제로 푸쉬

© 2022.02 by sunnyfterrain