위클리 페이퍼 2주차

LEE GYUHO·2023년 9월 17일
0

Git에서 branch merge 방법들과 각 방법의 특징을 설명해 주세요.

  • git에서 branch merge의 방법은 3가지가 있다

    • merge commit을 만들며 합치기
      이 방식은 두 브랜치의 변경사항을 모두 유지하며 병합하는 것이다.
      장점은 브랜치의 히스토리를 모두 유지하며 변경사항을 병합할 수 있다는 것이다.
      단점은 커밋 히스토리가 복잡해질 수 있다는 것이다.

    • squash and merge
      이 방식은 브랜치에서 모든 변경사항을 하나의 커밋으로 압축하여 병합하는 방식이다. 병합 후에 하나의 새로운 커밋을 생성한다.
      장점은 커밋 히스토리를 간단하게 유지할 수 있다는 것이다.
      단점은 작업의 상세한 이력을 잃게된다는 것이다.

    • rebase and merge
      이 방식은 현재 브랜치를 target 브랜치에 재위치 시킨 후 병합하는 방식이다.
      이렇게 하면 커밋 히스토리는 선형적으로 유지된다.
      장점은 깨끗하고 선형적인 커밋 히스토리를 만들어 준다는 것이다. 이로 인해 히스토리 파악 및 코드의 변화 이해가 더욱 쉬워질 수 있다.
      단점은 관련된 커밋의 ID들이 모두 바뀌게 되어 혼란을 초래할 수 있다는 점이다.

Git Flow 브랜치 전략에 대해 설명해 주세요.

  • git flow에는 5가지 브랜치가 존재한다

    • master
      라이브 서버에 제품으로 출시되는 브랜치

    • develop
      다음 출시 버전을 대비하여 개발하는 브랜치

    • feature
      추가 기능 개발 브랜치

    • release
      다음 버전 출시를 준비하는 브랜치. develop 브랜치를 release 브랜치로 옮긴 후 QA(품질검사), 테스트를 진행하고 master 브랜치로 합친다

    • hotfix
      master 브랜치에서 발생한 버그를 수정하는 브랜치

  • master, develop은 항시 유지되는 메인 브랜치이고 나머지는 merge되면 사라지는 보조 브랜치이다.

  • branch를 merge할 때 항상 -no-ff 옵션을 붙여 branch에 대한 기록이 사라지는 것을 방지하는 것을 원칙으로 한다.

profile
누구나 같은 팀으로 되길 바라는 개발자가 되자

0개의 댓글