[Session] Git Flow

carminchameleon·2020년 3월 17일
0

Git 을 왜 쓸까?

다른 사람이랑 협업하기 좋아서.
Master을 잡고, 각자의 기능에 해당하는 feature branch를 따서 작업했다.

Git flow란?

어떤 방식으로 해야 협업을 할때 효율적인가에 대한 고민
그 중 가장 효율적으로 알려진 것이 git flow
스크럼과 같이, 팀이 효율적으로 작업을 하기 위한 프로세스

git flow는 브랜치가 총 5개이다.
기준이 되는 braanch

develop 개발의 기준으로 삼는 것 ( 계속해서 개발 되는 부분 )

feature develop에서 기능을 따라서 해야 함

master 배포가 되는 곳 ( 시스템 상에서 돌아가고 있는 것)

개발용과 배포용을 나누는 것.
배포용은 배포용으로 하고, 다른 쪽에서는 계속해서 작업을 하면서 develop에 보내는 것
develop이 있어서 master의 머지가 효율적으로 될 수 있다.
다른 사람이 개발을 하는 것으로 내가 작업을 못하게 되는 일이 사라진다.

Release ( 배포용 )

마스터는 실제 배포가 된 코드가 들어가는 것
Release는 배포 후보.
배포를 하기 전에 테스트를 해보는 것

작업 하고 여기서 배포 하자! -> Release 브랜치를 딴다.
버그가 있어서 수정을 하면 Release에서 해야 한다. ( 왜 develop에서 안해? 거기는 또 거기서 작업을 게속 하고 있으니까!)
Realease에서 확인이 끝나면 master에 보내고 배포가 되는 것

master에도 merge, develop에도 merge를 해줘야 한다.

HotFix

긴급하게 고치는 것
master를 기준으로 고쳐야 한다.
이미 배포된 코드에서 나온 버그이기 때문에 master에서 뽑아서 해야 한다.
문제가 생겼을 때, master에서 hotfix를 따서 고치고 검증하고 다시 마스터로 merge, develop에 merge

develop에서는 배포가 안된 코드가 있기 때문에 develop에서 고치면 안됨.
만약 develop에서 하면, 검증이 안된 코드가 배포되기 때문에

배포이후의 보수 유지를 위해서 만들어진 flow임
우리는 배포를 하지 않기 때문에 저렇게 하지 않았던 것. 실제로 작업을 하면 필요함
개념을 알아두어야 한다.

profile
나는야 코린이 하지만 무럭무럭 자라고 있죠

0개의 댓글