이번시간에는 git
을 사용하는 방법이 아니라 git
을 잘 사용하는 방법 , 즉 어떻게 사용해야하는지에 대해서 알아보겠습니다.
주관적인 내용이기 때문에 git
을 사용하는 방법에 대해서 정확한 정답은 없지만 많이들 채택하고있는 git flow
모델에 대해 알아보겠습니다.
여기서 가장 중요한 branch
는 master
와 develop
입니다.
첫번쨰로 개발이 되는 곳은 master
입니다. 하지만 master
에서 개발을 하지않고 develop
에서 실제로 개발이 이루어집니다.
이때 특정한 기능을 개발해야할때 별도의 branch
를 만드는데 feature
, 즉 기능이라고 하는 새로운 bracnh
를 가볍게 만들어 작업을 해나갑니다.
그리고 feature
가 그 기능에 대한 작업이 끝나면 develop
로 가져옵니다. 이는 병합을 통해 합칠 수 있습니다.
이후 어떤 특정한 기능에 속하지 않은 애매한 변경사항이나 버그에 대한 처리는 계속 develop
에서 작업을 진행합니다.
그렇게 작업이 쭉 진행되다 보면 작업이 마무리되고 사용자들에게 작업의 결과를 배포를 해야하는 시점이 옵니다.
그러한 순간에 release
라는 branch
를 새로 만들고 배포하고자 하는 작업을 옮기고 작업을 합니다. 그리고 다시 release
에서 끝난 작업을 develop
로 merge
합니다.
이후에 실제로 배포를 해야할때 release
에 끝난 작업을 master
로 merge
를 합니다. 즉 tag
라는 기능을 통해서 기록을 하고 서버에다가 업로드를 한다거나 사용자에게 다운로드할 수 있도록 제공합니다.
즉 master
는 release
와 관련된 , 제공된 버전을 모아놓은 branch
가 됩니다.
따라서 release
의 내용은 배포를 위해 master
로도 merge
가 되고 계속 개발하기 위해서 develop
로도 갑니다.
만약 버그가 생길 경우 hotfix
라는 branch
를 생성하고 문제를 해결한 다음에 master
로 병합을 합니다. 또한 이 수정된 내용또한 develop
로도 병합이 됩니다.
지금까지 git
의 흐름에 대해 알아보았습니다.
다음에는 실습을 해보겠습니다.
여기까지 하도록 하겠습니다.