이번시간에는 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 의 흐름에 대해 알아보았습니다.
다음에는 실습을 해보겠습니다.
여기까지 하도록 하겠습니다.