은우님 세션
git flow란?
ㅡ 기업마다 git 쓰는 방식이 다양한디.
ㅡ git을 어떻게 효율적으로 사용할 수 있는지 process에 대한 거.
마치 scrum처럼.
ㅡ git flow는 branch가 총 5개임.(master, feature, develop, release, hotfix)
ㅡ 기준이 되는 branch는 master임.
ㅡ 우리에겐 develop이 master branch로 작용함. develop은 개발이 되고 있는 branch.
(배포가 된 코드는 master branch에 적용)
ㅡ 그런데 왜 굳이 develop(master) branch를 하나 더 따야할까?
ㅡ> 지금 위의 사진에서 제일 위의 master는 배포용 master.
ㅡ> develop의 master branch는 개발팀들마다 독립적으로 개발을 진행하기 위해 따는 것임.
왜냐하면 그냥 최상위 master branch에다가 각 팀들이 push를 하면 버그 수정 이런 거 때문에 각각의 팀들의 업무들이 서로 막고 막히게 되므로.
ㅡ> 최상위 master는 실제 배포용. release는 배포후보용 = 그렇지만 아직 test는 안 한 상태.
ㅡ> 그러면 release branch에서 test하다가 생긴 bug들을 잡아주는 것임. 절대 develop branch에서 bug 잡는 거 아니당.
왜냐면 develop branch는 계속 새로 개발된 것들이 올라오는 곳이므로.
ㅡ>release branch에서 test 통과하면 이걸 최상위 master branch에도 merge해주고 develop branch에도 merge해준다.
ㅡ> Hotfix branch는 이미 배포된 master branch의 코드가 고장났을시 고쳐야므로 고치고 master branch에서 까야함. 그리고 고치면 바로 master branch로 올려준다. 그리고 고친뒤에는 develop branch에도 넣어줘야 함.