git flow, work flow

양진영·2022년 2월 23일
0

workflow란 기본적으로 작업의 흐름이라는 뜻으로 IT뿐만 아니라 여러 영역에서 사용되는 단어이다. 작업의 흐름을 효율적으로 만들어 최소한의 노력으로 최대의 효과를 얻기 위한 개념이다. 개발자들의 영역으로 workflow를 가져와 보자면 개발자들이 개발부터 릴리즈 배포 까지 얼마나 효율적으로 하고 있는지가 workflow의 척도가 되겠다. 그럼 개발자들의 대표적인 협업툴인 git에 존재하는 git flow에 대해서 설명해보겠다.
git flow란 Vincent Dressen의 branch model을 적용하여 고수준의 저장소를 관리할수 있게 해준다. git flow는 기본적으로 5가지의 브랜치가 존재한다. 흐름상으로 소개하자면 feature - develop - release - hotfix - master라고 보면 된다. git flow에는 항상 일정하게 존재하는 주요 브랜치( master, develop)이 존재하고 일정기간만 존재하는 보조 브랜치가 있다(release,hotfix,feature). git flow는 git을 사용하는 개발자들이 사용할수 있는 프로그램 같은 개념이 아니다. git flow는 하나의 관념, 약속으로 개발자들이 좀더 효율적으로 깃을 사용하여 개발할수 있도록 만들어진 개념이다. 그렇다면 왜 git flow를 사용할때 개발자가 얻을수있는 이점은 무엇일까? 첫번째로 병렬적으로 개발이 가능하다는 점이다. 완료된 작업에서 새 개발을 위하여 병력적으로 나누고 feature 브랜치에서 작업하고 완료됫다고 판단되었을때만 다시 머지한다. 또한 git flow는 협업을 용이하게 한다. feature 브랜치에서 작업시 변경 사항만 변경되는 샌드박스 기능 때문에 협업이 용이하다.

어느 분야든 작업의 흐름이 얼마나 효과적이냐에 따라 쓸대 없는 낭비를 줄이고 최고의 효율을 가져올지가 정해진다. IT에서는 특히 workflow가 중요하다. 왜냐하면 workflow가 용이해야 CI가 가능하고 CI가 가능해야 CD가 가능하기 때문이다.

profile
왜? 라는 질문을 중요시하는 서버 개발자입니다

0개의 댓글