콘텐츠로 이동

2022 03 07

2022-03-04

CryptoHows 깃 브랜치 전략

  • 기본적으로 Git Flow
    • MASTER (upstream) <-PR- DEVELOP (upstream) <-PR- FEATURE (origin)
  • 문제 상황
    • Develop - Squash And Merge -> Master
      • 장점
        • 커밋 이력이 간소하고 이쁨
      • 단점
        • 스머를 해버리면 커밋이 Develop께 다 합쳐져서 Master로 들어감
        • Develop에 더 커밋이 이후에 생겨서 Master로 들어갈 때 충돌이 발생
        • 매번 충돌을 해결해줘야하는 문제가 생김
    • Develop - Rebase And Merge -> Master
      • 장점
        • 커밋 이력이 동일하지 않을까?
      • 단점
        • 커밋 해시값이 동일하지 않았음
        • 아마 Merge를 하는 과정에서 해시가 바뀐것 같음
        • 충돌이 더 커짐
    • Develop - Create Merge Commit -> Master
      • 장점
        • 커밋 하나에 deploy의 개념을 담을 수 있음
      • 단점
        • Develop에 비해 한개의 커밋이 더생김
  • 합의점
    • Create Merge Commit 활용토록 함
      • Master에 생긴 하나의 커밋을 그냥 Develop에서 떙겨와서 Develop에 푸시해두도록 함