Skip to content

DokySp-study/git-flow-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 

Repository files navigation

GitHub release (latest by date) GitHub Release Date GitHub last commit (branch) GitHub


GIT FLOW 개념도

시작하기

$ git flow init

주요 브랜치

  • master

    • 배포 시 사용하는 브랜치
  • develop

    • 개발 단계에서 사용하는 브랜치
  • feature/bugfix

    • 새로운 기능/버그 수정시 사용하는 브랜치
    $ git flow feature start [기능 이름]
    ...
    # 기능 개발/추가 커밋들
    ...
    $ git flow feature finish [기능 이름]
    • feature 또는 bugfix를 finish할 경우
      • feature -> develop 병합
    • 다른 개발자와 feature 내용을 공유하기 위해 원격 저장소에 push 할 때
    $ git flow feature publish
  • release

    • develop에서 최종 배포(master) 시 사용하는 브랜치
    $ git flow release start [릴리즈 버전(ex> v#.0.0)]
    ...
    # 최종 배포버전을 위한 버그 수정 커밋들
    ...
    $ git flow release finish [릴리즈 버전]
    • release를 finish할 경우
      • release -> develop 병합
      • release -> master 병합
    • release finish한 이후에 develop 브랜치와 master 브랜치 각각 $ git push를 해주어야 한다. (설명)
  • hotfix

    • 배포 중인 서비스를 긴급하게 수정할 때 사용하는 브랜치
    $ git flow hotfix start [핫픽스 버전(ex> v1.0.#)]
    ...
    # 최종 배포버전을 위한 버그 수정 커밋들
    ...
    $ git flow hotfix finish [핫픽스 버전]
    • hotfix finish할 경우
      • hotfix -> develop 병합
      • hotfix -> master 병합
    • hotfix finish한 이후에 develop 브랜치와 master 브랜치 각각 $ git push를 해주어야 한다. (설명) 확인 필요
  • support (베타기능)


참고

--no-ff 옵션

develop

1번은 --no-ff 옵션 없이 finish 한 것이다.

  • develop 브랜치에 수정을 가하는 커밋 1개만 존재한다.

ff

2번은 --no-ff 옵션을 넣어 finish 한 것이다.

  • 코드 수정 커밋 + develop 브랜치 Merge 커밋 2개가 존재한다.

no-ff

release 후에 git push

  • Before: develop 브랜치만 push한 경우.
  • After: develop 브랜치 push 후 master bransh push

develop

  • master 브랜치 push 전에는 5번 커밋이 마스터로 머지된 커밋이라는 것을 인식하지 못하는 것 같다.
  • master 브랜치에서 push하면 문제가 해결된다.

GIT Branch bash에서 시각화

A DOG!

$ git log --All --Decorate --Oneline --Graph

래퍼런스