[Git] 5. git flow 와 git release 로 버전 활용하기

Yeppi's 개발 일기·2022년 5월 18일
0

Git

목록 보기
9/9

1. git flow 란?

git-flow 전략

브랜칭 관리 전략

  • git 을 기반으로 애플리케이션 배포버전을 관리할 수 있는 프로젝트 개발 프로세스

  • branch 하고 merge 하는 브랜칭 사용법에
    전략(Strategy) 을 팀원들과 공유하여 해당 소프트웨어를 관리


🧐 git flow 흐름 🧐

  • git-flow 설명이 되어있는 github
    git-flow 전략

  • feature → 실제 개발단 브랜치
    develop → 계속 진보하면서 개발 결과물이 계속 쌓이는 브랜치
    release → 각 버전 출시를 준비하는 브랜치
    hotfix → 출시한 버전에서 버그를 수정하는 브랜치
    master → 제품이 출시되는 브랜치

  • 하단에서 상단으로 들어갈때 테스트를 수행
  • ❗ 절대 마스터에 커밋하면 안됨 ❗
    • master 에 commit 및 push 은 신입 말단이 회사에서 하게 될 일은 없다..
    • 혼자 프로젝트를 진행하는 것처럼 무심코 master 에 push 또는 merge 했다간 대참사가 발생하니 주의하자...!


2. git flow 실습

1) git flow 설치

설치 참고 사이트

설치 과정 및 명령어가 아주 상세하게 잘 나열되어 있다
해당 사이트를 참고해서 실습을 진행하겠다


git bash 에서 설치하기

  • 실습할 디렉토리로 이동한 후, git bash 창에서 아래 명령어를 입력

    • /Documents/dev/git-flow-practice
      git flow init
      git branch

  • git flow init

    • master = main 으로 생각하고 실습 진행
    • 현재 브랜치는? main
  • git branch

    • 브랜치 develop 이 있는 것을 확인
    • 현재 브랜치는? develop

fizzbuzz

  • git flow feature start fizzbuzz

    • 브랜치 fizzbuzz 로, git flowstart
    • 현재 브랜치는 ? develop
  • git branch

    • 브랜치 feature/fizzbuzz 가 있는 것을 확인
    • 현재 브랜치는? feature/fizzbuzz

github 사이트에서 확인

👉 브랜치 병합 및 삭제를 할 때는 git status 상태를 깨끗하게 해두자



2) git flow 버전 활용

git flow init

  • /dev 에 새로운 git clone
  • 해당 디렉토리에서 git branch 후, branch가 main 것을 확인하면 git flow init
    ? 부분에서 전부 enter 하기
    → 만약 빈칸이 있다면? 쓰기 (왠만하면 기존 이름 동일하게)

git flow feature start

  1. develop branch로 바뀌면, git flow feature start 브랜치이름

  2. touch -> vi -> cat 순으로 파일 작성 및 확인

  3. git add, git commit, git status 한 후, git flow feature finish 브랜치이름

  4. 해당 파일의 세션마다 각기 다른 branch로 작성해야되기 때문에, 3-4번 반복

  5. branch develop 상태에서 git flow release start v0.01, 릴리즈 등록

  6. git flow release finish v0.01 릴리즈 등록 완료

  7. git push를 하려면, branch 2개다 push해야함

    • develop→ git push -u origin develop
    • switch한 후, main→ git push origin main
  8. push 후 결과


version 관리

v 1.0.0 → 정식버전
v 0.x.x → 베타버전

  • 총 세개의 창이 뜸
    • 가운데 태그창만 메모한 후 저장하고, 나머지 2개는 저장만하고 그냥 나가기
    • 현재 브랜치는? release/v0.0.1
  • git switch main
  • git push origin main
  • git tag
  • git push - -tags


나중에 팀 프로젝트를 진행하면서
git flow 를 더 자세하게 활용해봐야겠다

profile
imaginative and free developer. 백엔드 / UX / DATA / 기획에 관심있지만 고양이는 없는 예비 개발자👋

0개의 댓글

관련 채용 정보